2012-04-17 43 views
0

我想寫一個小程序,它只是顯示一個網站的標題信息。代碼如下:如何在不使用python進行身份驗證的情況下獲取HTTP頭信息?

import urllib2 

url = 'http://some.ip.add.ress/' 

request = urllib2.Request(url) 

try: 
    html = urllib2.urlopen(request) 
except urllib2.URLError, e: 
    print e.code 
else: 
    print html.info() 

如果'some.ip.add.ress'是google.com,那麼返回的標題信息沒有問題。但是,如果它是一個IP地址,在訪問之前需要進行基本身份驗證,那麼它將返回401。是否有辦法在沒有身份驗證的情況下獲取頭文件(或其他任何信息)?


我已經完成了。

後嘗試已經失敗,由於未經授權的訪問以下修改將打印頭信息:的

print e.info() 

代替:

print e.code() 

爲尋找謝謝:)

+0

沒關係我已經完成了。打印e.info()出錯 仍在學習python .... – cookertron 2012-04-17 15:53:50

+2

發佈您的解決方案作爲對此問題的答案。 – Daenyth 2012-04-17 15:55:12

回答

1

如果你只想要標題,而不是使用urllib2,你應該去較低的水平,並使用httplib

import httplib 
conn = httplib.HTTPConnection(host) 
conn.request("HEAD", path) 
print conn.getresponse().getheaders() 
+0

我累了之前,並收到了401.你的方法很好!感謝那 – cookertron 2012-04-17 16:07:44

+0

我似乎再次遇到問題,python控制檯返回_ [Errno 104]由peer_重置連接,我不知道這意味着什麼。我是同齡人,但我沒有重置任何東西,是我!? – cookertron 2012-04-17 16:31:30

+0

最有可能的意思是,另一端不接受HTTP連接。 – vartec 2012-04-17 16:38:19

0

如果你想要的是HTTP頭,那麼你應該做HEADGET請求。您可以通過閱讀Python - HEAD request with urllib2瞭解如何操作。

+0

你粘貼了錯誤的鏈接 – vartec 2012-04-17 19:24:09

相關問題