[ie/sproutvideo] Support browser impersonation (#13589)

Closes #13576
Authored by: bashonly
This commit is contained in:
bashonly 2025-06-30 18:37:56 -05:00 committed by GitHub
parent 35fc33fbc5
commit 11b9416e10
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -98,11 +98,8 @@ class SproutVideoIE(InfoExtractor):
def _real_extract(self, url):
url, smuggled_data = unsmuggle_url(url, {})
video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id, headers={
**traverse_obj(smuggled_data, {'Referer': 'referer'}),
# yt-dlp's default Chrome user-agents are too old
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; rv:140.0) Gecko/20100101 Firefox/140.0',
})
webpage = self._download_webpage(
url, video_id, headers=traverse_obj(smuggled_data, {'Referer': 'referer'}), impersonate=True)
data = self._search_json(
r'var\s+(?:dat|playerInfo)\s*=\s*["\']', webpage, 'player info', video_id,
contains_pattern=r'[A-Za-z0-9+/=]+', end_pattern=r'["\'];',