Browse Source

Automatically set HTTPS proxy if given (Fixes #805)

Philipp Hagemeister 12 years ago
parent
commit
434aca5b14
1 changed files with 5 additions and 1 deletions
  1. 5 1
      youtube_dl/__init__.py

+ 5 - 1
youtube_dl/__init__.py

@@ -376,7 +376,11 @@ def _real_main(argv=None):
 
 
     # General configuration
     # General configuration
     cookie_processor = compat_urllib_request.HTTPCookieProcessor(jar)
     cookie_processor = compat_urllib_request.HTTPCookieProcessor(jar)
-    proxy_handler = compat_urllib_request.ProxyHandler()
+    proxies = compat_urllib_request.getproxies()
+    # Set HTTPS proxy to HTTP one if given (https://github.com/rg3/youtube-dl/issues/805)
+    if 'http' in proxies and 'https' not in proxies:
+        proxies['https'] = proxies['http']
+    proxy_handler = compat_urllib_request.ProxyHandler(proxies)
     opener = compat_urllib_request.build_opener(proxy_handler, cookie_processor, YoutubeDLHandler())
     opener = compat_urllib_request.build_opener(proxy_handler, cookie_processor, YoutubeDLHandler())
     compat_urllib_request.install_opener(opener)
     compat_urllib_request.install_opener(opener)
     socket.setdefaulttimeout(300) # 5 minutes should be enough (famous last words)
     socket.setdefaulttimeout(300) # 5 minutes should be enough (famous last words)