]> jfr.im git - yt-dlp.git/commitdiff
[extractor/generic] Handle basic-auth when checking redirects
authorpukkandan <redacted>
Sun, 26 Feb 2023 04:57:04 +0000 (10:27 +0530)
committerpukkandan <redacted>
Sun, 26 Feb 2023 04:57:46 +0000 (10:27 +0530)
Closes #6352

yt_dlp/extractor/generic.py

index 55e55d5248bd52dfa8cdf010de7a2ef0940350a7..d76ef3e31c13b6e14d6cb31e5f0bd67c87c2f049 100644 (file)
@@ -15,6 +15,7 @@
     UnsupportedError,
     determine_ext,
     dict_get,
+    extract_basic_auth,
     format_field,
     int_or_none,
     is_html,
@@ -2372,9 +2373,8 @@ def _real_extract(self, url):
             **smuggled_data.get('http_headers', {})
         })
         new_url = full_response.geturl()
-        if new_url == urllib.parse.urlparse(url)._replace(scheme='https').geturl():
-            url = new_url
-        elif url != new_url:
+        url = urllib.parse.urlparse(url)._replace(scheme=urllib.parse.urlparse(new_url).scheme).geturl()
+        if new_url != extract_basic_auth(url)[0]:
             self.report_following_redirect(new_url)
             if force_videoid:
                 new_url = smuggle_url(new_url, {'force_videoid': force_videoid})