Browse Source

dlhd: fix request headers

main
Brett Langdon 2 years ago
parent
commit
fa19e73e4b
No known key found for this signature in database GPG Key ID: 9BAD4322A65AD78B
1 changed files with 15 additions and 5 deletions
  1. +15
    -5
      src/dlhdhr/dlhd/__init__.py

+ 15
- 5
src/dlhdhr/dlhd/__init__.py View File

@ -21,13 +21,11 @@ class DLHDClient:
_channels_last_fetch: float = 0
_base_urls: dict[DLHDChannel, (float, str)]
_referers: dict[DLHDChannel, str]
_cookies: dict[str, str]
def __init__(self):
self._channels = {}
self._base_urls = {}
self._referers = {}
self._cookies = {}
async def _log_request(self, request):
if config.DEBUG:
@ -38,12 +36,24 @@ class DLHDClient:
request = response.request
print(f"Response event hook: {request.method} {request.url} - Status {response.status_code}")
self._cookies.update(response.cookies)
def _get_client(self, referer: str = ""):
parsed = urllib.parse.urlparse(referer)
origin = f"{parsed.scheme}://{parsed.netloc}"
referer = f"{parsed.scheme}://{parsed.netloc}/"
headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:122.0) Gecko/20100101 Firefox/122.0",
"Origin": origin,
"Referer": referer,
"Accept": "*/*",
"Accept-Language": "en-US,en;q=0.5",
"Sec-Fetch-Dest": "empty",
"Sec-Fetch-Mode": "cors",
"Sec-Fetch-Site": "cross-site",
"Sec-GPC": "1",
"Pragma": "no-cache",
"Cache-Control": "no-cache",
"TE": "trailers",
}
return httpx.AsyncClient(
base_url=config.DLHD_BASE_URL,
@ -51,7 +61,6 @@ class DLHDClient:
max_redirects=2,
verify=True,
timeout=8.0,
cookies=self._cookies,
event_hooks={"request": [self._log_request], "response": [self._log_response]},
)
@ -140,6 +149,7 @@ class DLHDClient:
async def get_channel_key(self, channel: DLHDChannel, proxy_url: str) -> bytes:
referer = await self.get_channel_referer(channel)
async with self._get_client(referer=referer) as client:
res = await client.get(proxy_url)
res.raise_for_status()


Loading…
Cancel
Save