2010-05-07 395 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返回別的東西。