As specified in RFC 2616, 2xx code indicates that the client's
request was successfully received, understood, and accepted.
Now in these cases no error is raised. Also fixed tests.
diff --git a/Lib/urllib2.py b/Lib/urllib2.py
index 046470a..7c73f81 100644
--- a/Lib/urllib2.py
+++ b/Lib/urllib2.py
@@ -487,7 +487,9 @@
def http_response(self, request, response):
code, msg, hdrs = response.code, response.msg, response.info()
- if code not in (200, 206):
+ # According to RFC 2616, "2xx" code indicates that the client's
+ # request was successfully received, understood, and accepted.
+ if not (200 <= code < 300):
response = self.parent.error(
'http', request, response, code, msg, hdrs)