2012-03-14 115 views
1

这是我的课怎么样子:蟒蛇的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中的一个。 文件“/usr/local/lib/python2.7/urllib2.py”,第521行,在http_error_default中 raise HTTPError(req.get_full_url(),code,msg,hdrs,fp) urllib2.HTTPError:HTTP Error 400 :Bad Request

我试着添加方法http_error_400,然后调用这个方法,但是我真的需要http_error_default。我真的需要一个默认的。

回答