mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2026-08-28 06:43:40 +03:00
[ie/patreon] Fix referer header used for embeds
Fix e0d6c08229
Authored by: bashonly
This commit is contained in:
@@ -16,6 +16,7 @@ from ..utils import (
|
|||||||
parse_iso8601,
|
parse_iso8601,
|
||||||
smuggle_url,
|
smuggle_url,
|
||||||
str_or_none,
|
str_or_none,
|
||||||
|
update_url,
|
||||||
url_or_none,
|
url_or_none,
|
||||||
urljoin,
|
urljoin,
|
||||||
)
|
)
|
||||||
@@ -340,8 +341,9 @@ class PatreonIE(PatreonBaseIE):
|
|||||||
'channel_follower_count': ('attributes', 'patron_count', {int_or_none}),
|
'channel_follower_count': ('attributes', 'patron_count', {int_or_none}),
|
||||||
}))
|
}))
|
||||||
|
|
||||||
# all-lowercase 'referer' so we can smuggle it to Generic, SproutVideo, Vimeo
|
# Must be all-lowercase 'referer' so we can smuggle it to Generic, SproutVideo, and Vimeo.
|
||||||
headers = {'referer': url}
|
# patreon.com URLs redirect to www.patreon.com; this matters when requesting mux.com m3u8s
|
||||||
|
headers = {'referer': update_url(url, netloc='www.patreon.com')}
|
||||||
|
|
||||||
# handle Vimeo embeds
|
# handle Vimeo embeds
|
||||||
if traverse_obj(attributes, ('embed', 'provider')) == 'Vimeo':
|
if traverse_obj(attributes, ('embed', 'provider')) == 'Vimeo':
|
||||||
@@ -352,7 +354,7 @@ class PatreonIE(PatreonBaseIE):
|
|||||||
v_url, video_id, 'Checking Vimeo embed URL', headers=headers,
|
v_url, video_id, 'Checking Vimeo embed URL', headers=headers,
|
||||||
fatal=False, errnote=False, expected_status=429): # 429 is TLS fingerprint rejection
|
fatal=False, errnote=False, expected_status=429): # 429 is TLS fingerprint rejection
|
||||||
entries.append(self.url_result(
|
entries.append(self.url_result(
|
||||||
VimeoIE._smuggle_referrer(v_url, 'https://patreon.com/'),
|
VimeoIE._smuggle_referrer(v_url, headers['referer']),
|
||||||
VimeoIE, url_transparent=True))
|
VimeoIE, url_transparent=True))
|
||||||
|
|
||||||
embed_url = traverse_obj(attributes, ('embed', 'url', {url_or_none}))
|
embed_url = traverse_obj(attributes, ('embed', 'url', {url_or_none}))
|
||||||
|
|||||||
Reference in New Issue
Block a user