Don't let proxy_bypass bring you down.
authorCory Benfield <lukasaoz@gmail.com>
Tue, 7 Jan 2014 09:37:59 +0000 (09:37 +0000)
committerCory Benfield <lukasaoz@gmail.com>
Tue, 7 Jan 2014 09:37:59 +0000 (09:37 +0000)
requests/utils.py

index c7e2b08..e69e9a8 100644 (file)
@@ -487,7 +487,16 @@ def get_environ_proxies(url):
 
     # If the system proxy settings indicate that this URL should be bypassed,
     # don't proxy.
-    if proxy_bypass(netloc):
+    # The proxy_bypass function is incredibly buggy on OS X in early versions
+    # of Python 2.6, so allow this call to fail. Only catch the specific
+    # exceptions we've seen, though: this call failing in other ways can reveal
+    # legitimate problems.
+    try:
+        bypass = proxy_bypass(netloc)
+    except (TypeError, socket.gaierror):
+        bypass = False
+
+    if bypass:
         return {}
 
     # If we get here, we either didn't have no_proxy set or we're not going