summaryrefslogtreecommitdiff
path: root/Lib/test/test_urllib.py
diff options
context:
space:
mode:
authorguido@google.com <guido@google.com>2011-03-29 11:41:02 -0700
committerguido@google.com <guido@google.com>2011-03-29 11:41:02 -0700
commita119df91f33724f64e6bc1ecb484eeaa30ace014 (patch)
treebe27f880b0ed6fdf79367fddc1c58019f07ca4ac /Lib/test/test_urllib.py
parentb938c8c25316b69f1d5df2c7880a9f6b87e7c2fa (diff)
downloadcpython-git-a119df91f33724f64e6bc1ecb484eeaa30ace014.tar.gz
Issue 11662: Fix vulnerability in urllib/urllib2.
(This version is a cleaned-up backport of a fix by Senthil Kumaran.)
Diffstat (limited to 'Lib/test/test_urllib.py')
-rw-r--r--Lib/test/test_urllib.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py
index 422831e35f..2b8852127b 100644
--- a/Lib/test/test_urllib.py
+++ b/Lib/test/test_urllib.py
@@ -2,6 +2,7 @@
import urllib.parse
import urllib.request
+import urllib.error
import http.client
import email.message
import io
@@ -183,6 +184,21 @@ Content-Type: text/html; charset=iso-8859-1
finally:
self.unfakehttp()
+ def test_invalid_redirect(self):
+ # urlopen() should raise IOError for many error codes.
+ self.fakehttp(b'''HTTP/1.1 302 Found
+Date: Wed, 02 Jan 2008 03:03:54 GMT
+Server: Apache/1.3.33 (Debian GNU/Linux) mod_ssl/2.8.22 OpenSSL/0.9.7e
+Location: file://guidocomputer.athome.com:/python/license
+Connection: close
+Content-Type: text/html; charset=iso-8859-1
+''')
+ try:
+ self.assertRaises(urllib.error.HTTPError, urlopen,
+ "http://python.org/")
+ finally:
+ self.unfakehttp()
+
def test_empty_socket(self):
# urlopen() raises IOError if the underlying socket does not send any
# data. (#1680230)