--- /usr/lib/python2.3/urllib.py 2004-10-01 12:26:43.000000000 +0100 +++ urllib.py 2005-04-06 13:13:12.000000000 +0100 @@ -299,8 +299,8 @@ h.send(data) errcode, errmsg, headers = h.getreply() fp = h.getfile() - if errcode == 200: - return addinfourl(fp, headers, "http:" + url) + if errcode >= 200 and errcode <= 299: + return addinfourl(fp, headers, "http:" + url, code=errcode) else: if data is None: return self.http_error(url, fp, errcode, errmsg, headers) @@ -833,11 +833,16 @@ class addinfourl(addbase): """class to add info() and geturl() methods to an open file.""" - def __init__(self, fp, headers, url): + def __init__(self, fp, headers, url, code=None): addbase.__init__(self, fp) + if code is not None: + self.code = code self.headers = headers self.url = url + def getcode(self): + return self.code + def info(self): return self.headers