我想使用的urllib2去通過身份驗證的頁面。我希望有一個黑客直接做。例如:我如何索要驗證網址直接與蟒蛇
urllib2.urlopen('http://username:[email protected]/page')
如果不是,我該如何使用身份驗證?
我想使用的urllib2去通過身份驗證的頁面。我希望有一個黑客直接做。例如:我如何索要驗證網址直接與蟒蛇
urllib2.urlopen('http://username:[email protected]/page')
如果不是,我該如何使用身份驗證?
這取決於所使用的身份驗證類型。
據我所知,沒有這樣做的一個簡單方法。基本上,你發出一個請求,服務器響應401所需的授權,這urllib2翻譯成一個例外。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python25\lib\urllib2.py", line 124, in urlopen
return _opener.open(url, data)
File "C:\Python25\lib\urllib2.py", line 387, in open
response = meth(req, response)
File "C:\Python25\lib\urllib2.py", line 498, in http_response
'http', request, response, code, msg, hdrs)
File "C:\Python25\lib\urllib2.py", line 425, in error
return self._call_chain(*args)
File "C:\Python25\lib\urllib2.py", line 360, in _call_chain
result = func(*args)
File "C:\Python25\lib\urllib2.py", line 506, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 401: Authorization Required
您必須捕獲這個異常,創建一個urllib2.HTTPPasswordManager對象,用戶名和密碼添加到HTTPPasswordManager,創建一個urllib2.HTTPBasicAuthHandler對象,創建一個opener對象,最後用開門紅獲取網址。代碼和教程,請訪問:http://www.voidspace.org.uk/python/articles/urllib2.shtml#id5
我會用蟒文檔的例子 – Guy 2009-10-12 14:14:36