issue1177: Ported Facundo's from urllib2 to urllib, accepting 2xx responses.
diff --git a/Lib/urllib.py b/Lib/urllib.py
index 5f3ec3c..96115fbe 100644
--- a/Lib/urllib.py
+++ b/Lib/urllib.py
@@ -340,7 +340,9 @@
# something went wrong with the HTTP status line
raise IOError, ('http protocol error', 0,
'got a bad status line', None)
- if errcode == 200:
+ # According to RFC 2616, "2xx" code indicates that the client's
+ # request was successfully received, understood, and accepted.
+ if not (200 <= errcode < 300):
return addinfourl(fp, headers, "http:" + url)
else:
if data is None: