34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
import requests
|
|
|
|
from requests.adapters import HTTPAdapter
|
|
from requests.packages.urllib3.util.ssl_ import create_urllib3_context
|
|
|
|
|
|
class SecLevel1Adapter(HTTPAdapter):
|
|
def init_poolmanager(self, *args, **kwargs):
|
|
context = create_urllib3_context(ciphers='DEFAULT@SECLEVEL=1')
|
|
kwargs['ssl_context'] = context
|
|
return super(SecLevel1Adapter, self).init_poolmanager(*args, **kwargs)
|
|
|
|
def proxy_manager_for(self, *args, **kwargs):
|
|
context = create_urllib3_context(ciphers='DEFAULT@SECLEVEL=1')
|
|
kwargs['ssl_context'] = context
|
|
return super(SecLevel1Adapter, self).proxy_manager_for(*args, **kwargs)
|
|
|
|
|
|
class Fast5330bR1:
|
|
def __init__(self, address):
|
|
self.address = address
|
|
|
|
def check_internet_status(self):
|
|
with requests.Session() as session:
|
|
session.mount(f"https://{self.address}", SecLevel1Adapter())
|
|
r = session.get(
|
|
f"https://{self.address}/api/v1/summary",
|
|
proxies={"https": "socks5h://localhost:1337"}
|
|
)
|
|
|
|
result = r.json()
|
|
|
|
return result[0]['internet']['state'] == 2
|