花一些时间研究 pycurl 和 libcurl 文档,我仍然找不到一种(简单的)方法,如何在 pycurl 中获取 HTTP 状态消息(原因短语)。
状态码很简单:
import pycurl
import cStringIO
curl = pycurl.Curl()
buff = cStringIO.StringIO()
curl.setopt(pycurl.URL, 'http://example.org')
curl.setopt(pycurl.WRITEFUNCTION, buff.write)
curl.perform()
print "status code: %s" % curl.getinfo(pycurl.HTTP_CODE)
# -> 200
# print "status message: %s" % ???
# -> "OK"
原文由 mykhal 发布,翻译遵循 CC BY-SA 4.0 许可协议
我自己找到了一个解决方案,它可以满足我的需要,但可以更健壮(适用于 HTTP)。
它基于一个事实,即
pycurl.HEADERFUNCTION
获取的捕获标头包括状态行。