これは私のクラスがどのように見えるかです:それはないすべては、すべてのエラーコードを処理することですのpython urllib2のライブラリシンプルはhttp_error_defaultエラーハンドラ
class ExtHTTPErrorProcessor (urllib2.BaseHandler):
def http_error_default(self, req, fp, code, msg, hdrs):
print code
return res
...
...
opener = urllib2.build_opener(ExtHTTPErrorProcessor())
urllib2.install_opener(opener)
urllib2.urlopen(request, data)
。私はドキュメントから正確なフォーマットに従います:http://docs.python.org/library/urllib2.html#urllib2.BaseHandler.http_error_default エラーコード400が来たら、私のhttp_error_defaultをまったく呼び出さず、urllib2のものを呼び出しています。 HTTPエラー(req.get_full_url()、code、msg、hdrs、fp)のファイル "/usr/local/lib/python2.7/urllib2.py" 521行urllib2.HTTPError:HTTPエラー400 :Bad Request
メソッドhttp_error_400を追加しようとしましたが、このメソッドは呼び出されますが、実際にはhttp_error_defaultが必要です。私は本当にデフォルトのものが必要です。