httplib.HTTPException是否有错误代码?如果是这样,我如何从异常实例中获取它们?任何帮助表示赞赏。
答案 0 :(得分:5)
httplib
模块不使用异常来传达HTTP响应,只是真正的错误(无效的HTTP响应,断开的标头,无效的状态代码,过早断开的连接等)。大多数httplib.HTTPException子类只是有一个关联的消息字符串(存储在args
属性中),即使这样。 httplib.HTTPException
本身可能有一个“errno”值作为args
中的第一个条目(当通过httplib.FakeSocket引发时),但它不是HTTP错误代码。
HTTP响应代码通过httplib.HTTPConnection
对象传送; getresponse
方法将(通常)返回HTTPResponse
实例,其中status
属性设置为HTTP响应代码,reason
属性设置为文本版本。其中包括404
和500
等错误代码。我说“通常”因为您(或您使用的图书馆)可以覆盖httplib.HTTPConnection.response_class
以返回其他内容。