From 015f3b31207cd34dd2af1105b311fa63d9f8f3c2 Mon Sep 17 00:00:00 2001 From: pukkandan Date: Sun, 7 Mar 2021 17:59:44 +0530 Subject: [PATCH] [bilibili] Change `Accept` header (Closes #145) This is a temporary fix. Ideally we should find a more reasonable accept string that just "*/*" Fixes: https://github.com/ytdl-org/youtube-dl/issues/28363 https://github.com/ytdl-org/youtube-dl/issues/28341 Thanks to animelover1984 for identifying the problem --- yt_dlp/extractor/bilibili.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/yt_dlp/extractor/bilibili.py b/yt_dlp/extractor/bilibili.py index 78f4b1e76..c3e0a9262 100644 --- a/yt_dlp/extractor/bilibili.py +++ b/yt_dlp/extractor/bilibili.py @@ -138,6 +138,11 @@ def _real_extract(self, url): anime_id = mobj.group('anime_id') page_id = mobj.group('page') webpage = self._download_webpage(url, video_id) + headers = { + 'Referer': url, + 'Accept': '*/*' + } + headers.update(self.geo_verification_headers()) if 'anime/' not in url: cid = self._search_regex( @@ -155,12 +160,8 @@ def _real_extract(self, url): if 'no_bangumi_tip' not in smuggled_data: self.to_screen('Downloading episode %s. To download all videos in anime %s, re-run yt-dlp with %s' % ( video_id, anime_id, compat_urlparse.urljoin(url, '//bangumi.bilibili.com/anime/%s' % anime_id))) - headers = { - 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', - 'Referer': url - } - headers.update(self.geo_verification_headers()) + headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8' js = self._download_json( 'http://bangumi.bilibili.com/web_api/get_source', video_id, data=urlencode_postdata({'episode_id': video_id}), @@ -169,11 +170,6 @@ def _real_extract(self, url): self._report_error(js) cid = js['result']['cid'] - headers = { - 'Referer': url - } - headers.update(self.geo_verification_headers()) - entries = [] RENDITIONS = ('qn=80&quality=80&type=', 'quality=2&type=mp4')