From: Senthil Kumaran Date: Wed, 24 Feb 2010 16:49:45 +0000 (+0000) Subject: Merged revisions 78422 via svnmerge from X-Git-Tag: v2.6.5rc1~31 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e3c651a83685bd29209c778f2f662cef2b0d6945;p=python Merged revisions 78422 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r78422 | senthil.kumaran | 2010-02-24 22:15:46 +0530 (Wed, 24 Feb 2010) | 2 lines Fix for Issue3819 - urllib2 sends Basic auth across redirects ........ --- diff --git a/Lib/test/test_urllib2.py b/Lib/test/test_urllib2.py index 485d5e9851..c911c9d2c0 100644 --- a/Lib/test/test_urllib2.py +++ b/Lib/test/test_urllib2.py @@ -1134,7 +1134,8 @@ class HandlerTests(unittest.TestCase): auth_hdr_value = 'Basic '+base64.encodestring(userpass).strip() self.assertEqual(http_handler.requests[1].get_header(auth_header), auth_hdr_value) - + self.assertEqual(http_handler.requests[1].unredirected_hdrs[auth_header], + auth_hdr_value) # if the password manager can't find a password, the handler won't # handle the HTTP auth error password_manager.user = password_manager.password = None diff --git a/Lib/urllib2.py b/Lib/urllib2.py index b7f2cf46e1..b416913f49 100644 --- a/Lib/urllib2.py +++ b/Lib/urllib2.py @@ -839,7 +839,7 @@ class AbstractBasicAuthHandler: auth = 'Basic %s' % base64.b64encode(raw).strip() if req.headers.get(self.auth_header, None) == auth: return None - req.add_header(self.auth_header, auth) + req.add_unredirected_header(self.auth_header, auth) return self.parent.open(req, timeout=req.timeout) else: return None