Proxy Authentication error in Urllib2 (Python 2.7)

proxy, python, urllib2, windows

Solution

Your program should see the environment variables which are set in Windows. So have these two environment variables in your Windows.

`HTTP_PROXY = http://username:password@proxyserver.domain.com`

`HTTPS_PROXY = https://username:password@proxyserver.domain.com`

And go ahead with executing your script. It should pick up the proper authenticators and proceed with the connection.

Problem

[Windows 7 64 bit; Python 2.7] If I try to use Urllib2, I get this error ``` Traceback (most recent call last): File "C:\Users\cYanide\Documents\Python Challenge\1\1.py", line 7, in <module> response = urllib2.urlopen('http://python.org/') File "C:\Python27\lib\urllib2.py", line 126, in urlopen return _opener.open(url, data, timeout) File "C:\Python27\lib\urllib2.py", line 400, in open response = meth(req, response) File "C:\Python27\lib\urllib2.py", line 513, in http_response 'http', request, response, code, msg, hdrs) File "C:\Python27\lib\urllib2.py", line 438, in error return self._call_chain(*args) File "C:\Python27\lib\urllib2.py", line 372, in _call_chain result = func(*args) File "C:\Python27\lib\urllib2.py", line 521, in http_error_default raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) **urllib2.HTTPError: HTTP Error 407: Proxy Authentication Required** ``` Now, I'm behind a college proxy which requires authentication so that's probably the reason why this is happening. But isn't Urllib2 supposed to pull the authentication and proxy information from the system settings? I understand there's some extra code I can insert into my program to 'hardcode' the proxy information in the program but I really don't want to do that unless it's the last resort. It would hinder the portability of the program across computers with different authentication IDs and Passwords in the college.

Original source