import httplib
    conn = httplib.HTTPConnection(head)
    conn.request("HEAD",tail)
    res = conn.getresponse()

我可以得到 res.status ,这是http状态码。

我还可以获得哪些其他元素?
为什么当我打印 res 时,它不会打印字典?我只想查看该字典中的键...

最佳答案

您始终可以使用 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() :
    返回 (header, value) 元组的列表。
    (2.4 版新增。)
  • HTTPResponse.msg :
    包含响应 header 的 mimetools.Message 实例。
  • HTTPResponse.version :
    服务器使用的 HTTP 协议(protocol)版本。 HTTP/1.0 为 10,HTTP/1.1 为 11。
  • HTTPResponse.status :
    服务器返回的状态码。
  • HTTPResponse.reason :
    服务器返回的原因短语。
  • 关于python - 在 Python 中,getresponse() 返回什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1752283/

    10-15 01:58