Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Proxy Authentication error in Urllib2 (Python 2.7)

[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.

like image 821
user1265125 Avatar asked Nov 03 '22 15:11

user1265125


1 Answers

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:[email protected]

HTTPS_PROXY = https://username:[email protected]

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

like image 102
Senthil Kumaran Avatar answered Nov 15 '22 07:11

Senthil Kumaran