2009-11-17 31 views
9
import httplib 
    conn = httplib.HTTPConnection(head) 
    conn.request("HEAD",tail) 
    res = conn.getresponse() 

我可以得到res.status,這是http狀態碼。在Python中,getresponse()返回什麼?

我還能獲得哪些其他元素? 爲什麼當我打印res時,它不會打印字典?我只想看到字典中的鍵...

回答

21

您總是可以使用dir檢查對象;它會告訴你它擁有哪些屬性。

>>> import httplib 
>>> conn = httplib.HTTPConnection("www.google.nl") 
>>> conn.request("HEAD", "/index.html") 
>>> res = conn.getresponse() 
>>> dir(res) 
['__doc__', '__init__', '__module__', '_check_close', '_method', '_read_chunked', '_read_status', '_safe_read', 'begin', 'chunk_left', 'chunked', 'close', 'debuglevel', 'fp', 'getheader', 'getheaders', 'isclosed', 'length', 'msg', 'read', 'reason', 'status', 'strict', 'version', 'will_close'] 

同樣,你可以調用help,它會顯示一個對象的文檔,如果它有一個__doc__屬性。正如你所看到的,這是res的情況,所以儘量:

>>> help(res) 

其他,文檔指出getresponse返回HTTPResponse對象。因此,如可以讀取那裏(在help(res)),以下屬性和方法上HTTPResponse對象定義:

  • HTTPResponse.read([amt]): 讀取並返回響應主體,或直到下一個AMT字節。

  • HTTPResponse.getheader(name[, default]): 獲取標題名稱的內容,如果沒有匹配的標題,則獲取默認值。

  • HTTPResponse.getheaders(): 返回(標頭,值)元組列表。 (新澤西在2.4版本)。

  • HTTPResponse.msg: 甲mimetools.Message實例包含響應標頭。

  • HTTPResponse.version: 服務器使用的HTTP協議版本。 HTTP/1.0爲10,HTTP/1.1爲11。

  • HTTPResponse.status: 服務器返回的狀態碼。

  • HTTPResponse.reason: 服務器返回的原因短語。

相關問題