2012-03-14 114 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。我真的需要一個默認的。

回答