Browse Source

fix referers

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

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

@ -63,7 +63,8 @@ class DLHDClient:
return None return None
async def get_channel_playlist(self, channel: DLHDChannel) -> m3u8.M3U8: async def get_channel_playlist(self, channel: DLHDChannel) -> m3u8.M3U8:
referer = f"https://weblivehdplay.ru/premiumtv/daddyhd.php?id={channel.number}"
base_url = f"https://weblivehdplay.ru/premiumtv/daddyhd.php?id={channel.number}"
referer = base_url
async with self._get_client(referer=referer) as client: async with self._get_client(referer=referer) as client:
res = await client.get(referer, follow_redirects=True) res = await client.get(referer, follow_redirects=True)
res.raise_for_status() res.raise_for_status()
@ -120,13 +121,13 @@ class DLHDClient:
segment.key = new_key segment.key = new_key
mono_playlist.keys = new_keys mono_playlist.keys = new_keys
self._base_urls[channel] = (time.time(), referer)
self._base_urls[channel] = (time.time(), mono_url)
return mono_playlist return mono_playlist
async def get_channel_key(self, channel: DLHDChannel, proxy_url: str) -> bytes: async def get_channel_key(self, channel: DLHDChannel, proxy_url: str) -> bytes:
base_url = await self.get_channel_base_url(channel)
async with self._get_client(referer=base_url) as client:
referer = f"https://weblivehdplay.ru/premiumtv/daddyhd.php?id={channel.number}"
async with self._get_client(referer=referer) as client:
res = await client.get(proxy_url) res = await client.get(proxy_url)
res.raise_for_status() res.raise_for_status()
@ -146,10 +147,11 @@ class DLHDClient:
return base_url return base_url
async def stream_segment(self, channel: DLHDChannel, segment_path: str): async def stream_segment(self, channel: DLHDChannel, segment_path: str):
referer = "https://claplivehdplay.ru/"
base_url = await self.get_channel_base_url(channel) base_url = await self.get_channel_base_url(channel)
segment_url = urllib.parse.urljoin(base_url, segment_path) segment_url = urllib.parse.urljoin(base_url, segment_path)
async with self._get_client(referer=base_url) as client:
async with self._get_client(referer=referer) as client:
async with client.stream("GET", segment_url, follow_redirects=True) as res: async with client.stream("GET", segment_url, follow_redirects=True) as res:
async for chunk in res.aiter_bytes(): async for chunk in res.aiter_bytes():
yield chunk yield chunk

Loading…
Cancel
Save