aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpukkandan <pukkandan.ytdlp@gmail.com>2022-02-20 17:13:13 +0530
committerpukkandan <pukkandan.ytdlp@gmail.com>2022-02-20 17:14:31 +0530
commit3f4faff74873003a07303fc1faff3e5969b9c508 (patch)
treeb530216b774e868a9ab334782dcb0baf514f1799
parentbe8d623455e28c69254230a73c0b87ba87ea1652 (diff)
downloadhypervideo-pre-3f4faff74873003a07303fc1faff3e5969b9c508.tar.lz
hypervideo-pre-3f4faff74873003a07303fc1faff3e5969b9c508.tar.xz
hypervideo-pre-3f4faff74873003a07303fc1faff3e5969b9c508.zip
[generic] Pass referer to extracted formats
Closes #2839
-rw-r--r--yt_dlp/extractor/generic.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/yt_dlp/extractor/generic.py b/yt_dlp/extractor/generic.py
index baedd7948..d975e4bdb 100644
--- a/yt_dlp/extractor/generic.py
+++ b/yt_dlp/extractor/generic.py
@@ -3991,12 +3991,16 @@ class GenericIE(InfoExtractor):
# here's a fun little line of code for you:
video_id = os.path.splitext(video_id)[0]
+ headers = {
+ 'referer': full_response.geturl()
+ }
entry_info_dict = {
'id': video_id,
'uploader': video_uploader,
'title': video_title,
'age_limit': age_limit,
+ 'http_headers': headers,
}
if RtmpIE.suitable(video_url):
@@ -4014,11 +4018,11 @@ class GenericIE(InfoExtractor):
elif ext == 'xspf':
return self.playlist_result(self._extract_xspf_playlist(video_url, video_id), video_id)
elif ext == 'm3u8':
- entry_info_dict['formats'], entry_info_dict['subtitles'] = self._extract_m3u8_formats_and_subtitles(video_url, video_id, ext='mp4')
+ entry_info_dict['formats'], entry_info_dict['subtitles'] = self._extract_m3u8_formats_and_subtitles(video_url, video_id, ext='mp4', headers=headers)
elif ext == 'mpd':
- entry_info_dict['formats'], entry_info_dict['subtitles'] = self._extract_mpd_formats_and_subtitles(video_url, video_id)
+ entry_info_dict['formats'], entry_info_dict['subtitles'] = self._extract_mpd_formats_and_subtitles(video_url, video_id, headers=headers)
elif ext == 'f4m':
- entry_info_dict['formats'] = self._extract_f4m_formats(video_url, video_id)
+ entry_info_dict['formats'] = self._extract_f4m_formats(video_url, video_id, headers=headers)
elif re.search(r'(?i)\.(?:ism|smil)/manifest', video_url) and video_url != url:
# Just matching .ism/manifest is not enough to be reliably sure
# whether it's actually an ISM manifest or some other streaming