Search code examples
pythonproxyenvironment-variablesurllib2

Python: Disable http_proxy in urllib2


I am using a proxy set as an environment variable (export http_proxy=example.com). For one call using urllib2 I need to temporarily disable this, ie. unset the http_proxy. I have tried various methods suggested in the documentation and interwebs, but so far have been unable to unset the proxy. So far I have tried:

# doesn't work
req = urllib2.Request('http://www.google.com')
req.set_proxy(None,None)
urllib2.urlopen(req)

# also doesn't work
urllib.getproxies = lambda x = None: {}

Solution

  • The urllib2 documentation suggests the following should work. Is it one of the approaches you have tried?

    import urllib2
    
    proxy_handler = urllib2.ProxyHandler({})
    opener = urllib2.build_opener(proxy_handler)
    page = opener.open('http://www.google.com')