Python httplib httpexception 错误代码

2 投票
1 回答
3619 浏览
提问于 2025-04-15 22:28

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属性,表示这个代码的文本说明。这其中包括像404500这样的错误代码。我说“通常”是因为你(或者你使用的某个库)可以重写httplib.HTTPConnection.response_class来返回其他东西。

撰写回答