diff options
author | coletdjnz <coletdjnz@protonmail.com> | 2024-07-14 11:22:43 +1200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-14 11:22:43 +1200 |
commit | 150ecc45d9cacc919550c13b04fd998ac5103a6b (patch) | |
tree | 88f2e04b6e7fdc0d2f49a43984bc1ff0327773b3 /yt_dlp/networking/_urllib.py | |
parent | 8b8b442cb005a8d85315f301615f83fb736b967a (diff) |
[networking] Add `legacy_ssl` request extension (#10448)
Supported by Urllib, Requests and Websockets request handlers. Ignored by CurlCFFI.
Also added couple cookie-related tests.
Authored by: coletdjnz
Diffstat (limited to 'yt_dlp/networking/_urllib.py')
-rw-r--r-- | yt_dlp/networking/_urllib.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/yt_dlp/networking/_urllib.py b/yt_dlp/networking/_urllib.py index 62995823b..510bb2a69 100644 --- a/yt_dlp/networking/_urllib.py +++ b/yt_dlp/networking/_urllib.py @@ -348,14 +348,15 @@ class UrllibRH(RequestHandler, InstanceStoreMixin): super()._check_extensions(extensions) extensions.pop('cookiejar', None) extensions.pop('timeout', None) + extensions.pop('legacy_ssl', None) - def _create_instance(self, proxies, cookiejar): + def _create_instance(self, proxies, cookiejar, legacy_ssl_support=None): opener = urllib.request.OpenerDirector() handlers = [ ProxyHandler(proxies), HTTPHandler( debuglevel=int(bool(self.verbose)), - context=self._make_sslcontext(), + context=self._make_sslcontext(legacy_ssl_support=legacy_ssl_support), source_address=self.source_address), HTTPCookieProcessor(cookiejar), DataHandler(), @@ -391,6 +392,7 @@ class UrllibRH(RequestHandler, InstanceStoreMixin): opener = self._get_instance( proxies=self._get_proxies(request), cookiejar=self._get_cookiejar(request), + legacy_ssl_support=request.extensions.get('legacy_ssl'), ) try: res = opener.open(urllib_req, timeout=self._calculate_timeout(request)) |