diff options
author | pukkandan <pukkandan.ytdlp@gmail.com> | 2022-02-20 17:13:13 +0530 |
---|---|---|
committer | pukkandan <pukkandan.ytdlp@gmail.com> | 2022-02-20 17:14:31 +0530 |
commit | 3f4faff74873003a07303fc1faff3e5969b9c508 (patch) | |
tree | b530216b774e868a9ab334782dcb0baf514f1799 | |
parent | be8d623455e28c69254230a73c0b87ba87ea1652 (diff) | |
download | hypervideo-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.py | 10 |
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 |