2010-07-27 41 views
0

我想使用urllib2訪問網頁,並且不斷收到HTTP錯誤401:未經授權。Python urllib2:如何忽略HTTPError 401

現在,我的問題是,使用Firefox等瀏覽器時,此頁面不需要任何身份驗證。只有當我使用谷歌瀏覽器時,彈出一個驗證對話框。儘管只有在頁面完全加載後纔會發生這種情況。所以我可以取消認證並像平常一樣使用頁面。

有沒有人知道我如何在沒有身份驗證的情況下打開此網頁。非常感謝你!

P.S.頁面的網址是:http://61.19.248.15/ $ sitepreview/sampran.go.th/

+0

你肯定不需要身份驗證與Firefox,或者你剛剛保存的任何身份驗證信息,或一個cookie,即讓你看起來繞過了它? – 2010-07-27 16:42:20

回答

0

如果Web服務器想要返回401狀態而不是返回網頁,那麼客戶端無法抓取內容。相反,您必須說服服務器爲頁面提供服務。也許它需要您已經保存在Firefox中的身份驗證憑據。也許它想要在你的http請求中看到Firefox的User-Agent頭。如果您無法猜測或詢問服務器管理員,則可嘗試使用Wireshark來嗅探成功會話的網絡會話,並將其與不成功會話的網絡會話進行比較。

0

我繞過這些錯誤是這樣的:

def append_text(string,n): 
     i=1 
     while i<n: 
     i = i+1 
     url = string + str(i) 
     try: 
      f = urllib.urlopen(url) 
      s = f.read() 
      ... 
     except IOError, e: 
      if hasattr(e, 'code'): 
      print 'We got an error' 
      print e.code