Browse Source

[utils] YoutubeDLHTTPSHandler.https_open: pass all required arguments to do_open

With this change the '--no-check-certificate' works again (#4807).
Jaime Marquínez Ferrándiz 10 years ago
parent
commit
4f264c02c7
1 changed files with 6 additions and 1 deletions
  1. 6 1
      youtube_dl/utils.py

+ 6 - 1
youtube_dl/utils.py

@@ -654,9 +654,14 @@ class YoutubeDLHTTPSHandler(compat_urllib_request.HTTPSHandler):
         self._params = params
         self._params = params
 
 
     def https_open(self, req):
     def https_open(self, req):
+        kwargs = {}
+        if hasattr(self, '_context'):  # python > 2.6
+            kwargs['context'] = self._context
+        if hasattr(self, '_check_hostname'):  # python 3.x
+            kwargs['check_hostname'] = self._check_hostname
         return self.do_open(functools.partial(
         return self.do_open(functools.partial(
             _create_http_connection, self, self._https_conn_class, True),
             _create_http_connection, self, self._https_conn_class, True),
-            req)
+            req, **kwargs)
 
 
 
 
 def parse_iso8601(date_str, delimiter='T'):
 def parse_iso8601(date_str, delimiter='T'):