0
我在創建使用URL的腳本時遇到了一些麻煩。我使用urllib.urlopen()來獲取所需URL的內容。但是其中一些URL需要認證。 urlopen提示我輸入我的用戶名和密碼。 我需要的是忽略每個需要認證的URL,只需輕鬆地跳過並繼續,有沒有辦法做到這一點? 我想知道捕捉HTTPError異常,但事實上,異常是由urlopen()方法處理的,所以它不起作用。urllib忽略身份驗證請求
感謝您的每一個回覆。
我在創建使用URL的腳本時遇到了一些麻煩。我使用urllib.urlopen()來獲取所需URL的內容。但是其中一些URL需要認證。 urlopen提示我輸入我的用戶名和密碼。 我需要的是忽略每個需要認證的URL,只需輕鬆地跳過並繼續,有沒有辦法做到這一點? 我想知道捕捉HTTPError異常,但事實上,異常是由urlopen()方法處理的,所以它不起作用。urllib忽略身份驗證請求
感謝您的每一個回覆。
你說得對有關urllib2.HTTPError
例外:
exception urllib2.HTTPError
雖然是個例外(URLError的子類),引發HTTPError也可以作爲一個非特殊類文件返回值(與urlopen()返回的相同)。這在處理異常的HTTP錯誤時很有用,例如請求身份驗證的。
code
如RFC 2616該數字值對應於碼的詞典中找到的值定義爲在BaseHTTPServer.BaseHTTPRequestHandler.responses發現的HTTP狀態代碼。
可用於驗證身份驗證是必需的異常的代碼屬性 - 碼401
>>> try:
... conn = urllib2.urlopen('http://www.example.com/admin')
... # read conn and process data
... except urllib2.HTTPError, x:
... print 'Ignoring', x.code
...
Ignoring 401
>>>
非常感謝:) – j3nc3k 2010-03-05 18:57:17