2010-05-07 134 views

回答

5

httplib模块不会使用异常传达HTTP响应,只是出现真正的错误(无效的HTTP响应,错误的标头,无效的状态码,过早断开的连接等)。大多数httplib.HTTPException子类只是具有关联消息字符串(存储在args属性中),如果有的话。 httplib.HTTPException本身可能具有“errno”值作为args中的第一项(通过httplib.FakeSocket引发时),但它不是HTTP错误代码。

虽然HTTP响应代码是通过httplib.HTTPConnection对象传递的; getresponse方法将(通常)返回一个HTTPResponse实例,并将status属性设置为HTTP响应代码,并将reason属性设置为其文本版本。这包括错误代码,如404500。我说“通常”,因为你(或你使用的图书馆)可以覆盖httplib.HTTPConnection.response_class返回别的东西。