mirror of
https://github.com/anxdpanic/plugin.video.youtube.git
synced 2026-01-23 13:01:26 -08:00
Pass additional headers to all player request and manifest urls by default
This commit is contained in:
parent
f7f0dff842
commit
a30d3503c4
1 changed files with 20 additions and 17 deletions
|
|
@ -1128,12 +1128,14 @@ class YouTubePlayerClient(YouTubeDataClient):
|
|||
if itag in stream_list:
|
||||
break
|
||||
|
||||
url = response['mpd_manifest']
|
||||
headers = response['client']['headers']
|
||||
url = self._process_url_params(
|
||||
response['mpd_manifest'],
|
||||
headers=headers,
|
||||
)
|
||||
if not url:
|
||||
continue
|
||||
|
||||
headers = response['client']['headers']
|
||||
|
||||
url_components = urlsplit(url)
|
||||
if url_components.query:
|
||||
params = dict(parse_qs(url_components.query))
|
||||
|
|
@ -1197,12 +1199,14 @@ class YouTubePlayerClient(YouTubeDataClient):
|
|||
itags = ('9995', '9996') if is_live else ('9993', '9994')
|
||||
|
||||
for client_name, response in responses.items():
|
||||
url = response['hls_manifest']
|
||||
headers = response['client']['headers']
|
||||
url = self._process_url_params(
|
||||
response['hls_manifest'],
|
||||
headers=headers,
|
||||
)
|
||||
if not url:
|
||||
continue
|
||||
|
||||
headers = response['client']['headers']
|
||||
|
||||
result = self.request(
|
||||
url,
|
||||
headers=headers,
|
||||
|
|
@ -1318,11 +1322,10 @@ class YouTubePlayerClient(YouTubeDataClient):
|
|||
else:
|
||||
new_url = url
|
||||
|
||||
new_url = self._process_url_params(new_url,
|
||||
mpd=False,
|
||||
headers=headers,
|
||||
referrer=None,
|
||||
visitor_data=None)
|
||||
new_url = self._process_url_params(
|
||||
new_url,
|
||||
headers=headers,
|
||||
)
|
||||
if not new_url:
|
||||
continue
|
||||
|
||||
|
|
@ -1416,11 +1419,11 @@ class YouTubePlayerClient(YouTubeDataClient):
|
|||
|
||||
def _process_url_params(self,
|
||||
url,
|
||||
mpd=True,
|
||||
stream_proxy=False,
|
||||
headers=None,
|
||||
cpn=False,
|
||||
referrer=False,
|
||||
visitor_data=False,
|
||||
referrer=None,
|
||||
visitor_data=None,
|
||||
method='POST',
|
||||
digits_re=re_compile(r'\d+')):
|
||||
if not url:
|
||||
|
|
@ -1473,7 +1476,7 @@ class YouTubePlayerClient(YouTubeDataClient):
|
|||
or 'https://www.youtube.com/watch?v=%s' % self.video_id,
|
||||
)
|
||||
|
||||
if mpd:
|
||||
if stream_proxy:
|
||||
new_params['__id'] = self.video_id
|
||||
new_params['__method'] = method
|
||||
new_params['__host'] = [parts.hostname]
|
||||
|
|
@ -2406,6 +2409,7 @@ class YouTubePlayerClient(YouTubeDataClient):
|
|||
|
||||
urls = self._process_url_params(
|
||||
unquote(url),
|
||||
stream_proxy=True,
|
||||
headers=client['headers'],
|
||||
cpn=client.get('_cpn'),
|
||||
)
|
||||
|
|
@ -2851,9 +2855,8 @@ class YouTubePlayerClient(YouTubeDataClient):
|
|||
|
||||
url = entity_escape(unquote(self._process_url_params(
|
||||
subtitle['url'],
|
||||
stream_proxy=True,
|
||||
headers=headers,
|
||||
referrer=None,
|
||||
visitor_data=None,
|
||||
)))
|
||||
if not url:
|
||||
continue
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue