import httplib
conn = httplib.HTTPConnection(head)
conn.request("HEAD",tail)
res = conn.getresponse()
我可以获得 res.status ,这是http状态代码。
我可以获得哪些其他元素? 为什么当我打印 res 时,它不会打印字典?我只是想看看那个词典中的键......
答案 0 :(得分:23)
您始终可以使用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']
同样,如果对象的文档具有__doc__
属性,则可以调用help
来显示对象的文档。如您所见,res
就属于这种情况,请尝试:
>>> help(res)
除此之外,文档指出getresponse
返回HTTPResponse
个对象。因此,正如您可以在那里阅读(以及在help(res)
中),在HTTPResponse
个对象上定义了以下属性和方法:
HTTPResponse.read([amt])
:
读取并返回响应正文,或者直到下一个字节。
HTTPResponse.getheader(name[, default])
:
获取标题名称的内容,如果没有匹配的标题,则为默认值。
HTTPResponse.getheaders()
:
返回(标题,值)元组的列表。
(版本2.4中的新功能。)
HTTPResponse.msg
:
包含响应头的mimetools.Message实例。
HTTPResponse.version
:
服务器使用的HTTP协议版本。 10表示HTTP / 1.0,11表示HTTP / 1.1。
HTTPResponse.status
:
服务器返回的状态代码。
HTTPResponse.reason
:
服务器返回的原因短语。