Python httplib httpexception 错误代码
httplib.HTTPException 有没有错误代码?如果有的话,我该怎么从这个异常实例中获取这些错误代码呢?任何帮助都很感谢。
1 个回答
5
httplib
模块在处理HTTP响应时,不是通过异常来传递信息,而是只处理真正的错误,比如无效的HTTP响应、损坏的头部信息、错误的状态码、连接意外中断等等。大多数httplib.HTTPException
的子类只包含一个关联的消息字符串(存储在args
属性中),有时候甚至没有。httplib.HTTPException
本身可能在args
的第一个位置有一个"errno"值(当通过httplib.FakeSocket
引发时),但这并不是一个HTTP错误代码。
不过,HTTP响应代码是通过httplib.HTTPConnection
对象来传递的;getresponse
方法通常会返回一个HTTPResponse
实例,这个实例有一个status
属性,表示HTTP响应代码,还有一个reason
属性,表示这个代码的文本说明。这其中包括像404
和500
这样的错误代码。我说“通常”是因为你(或者你使用的某个库)可以重写httplib.HTTPConnection.response_class
来返回其他东西。