The last time someone asked this question I suggested using a URL like http://username:password@host/path/filename.ext which seems to do the trick. regards Steve "Ari Davidow" <ari at ivritype.com> wrote in message news:mailman.987629221.4770.python-list at python.org... > Hi, > > I am trying to request a page that is being protected by basic authentication. > > So, I run something like: > > stuff = "data=urllib.urlencode({'username': 'foo', 'password' : 'foopw'})" > urllib.urlopen('http://www.site.com/admin/flushgo.html?ok=ok',stuff) > > or > > urllib.urlopen('http://username:password@www.site.com/admin/flushgo.html') > > and in either case, I get requested for the name and password. > > I've tried various incarnations of using httplib, but clearly I don't understand what is needed. Most promising seems: > > import httplib, urllib,binascii > cookie = binascii.b2a_base64("user:password") > h = httplib.HTTP("www.site.com") > h.putrequest("GET", "/admin/flushgo.html?ok=ok" "HTTP/1.0\r\n") > h.putheader("Proxy-authorization", "Basic %s" % cookie) > h.endheaders() > reply, msg, hdrs = h.getreply() > print reply # should be 200 > data = h.getfile().read() # get the raw HTML > > which gets me an error on the last line about "none" not being a legit result. > If I omit the last line, I get a "-1" response, which also seems broken. > > How does one approach this with python 1.52 (please please please don't suggest that I make a production system dependent on urllib2 with just one more patch in the beta of python 2.1 or such--that is a place I'd like to avoid)? > > ari > > > Ari Davidow > ari at ivritype.com > http://www.ivritype.com/ > >
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4