From ca2fc9eb1fd987b8885d7126f2b541a6c2636d53 Mon Sep 17 00:00:00 2001 From: Senthil Kumaran Date: Wed, 24 Feb 2010 16:53:16 +0000 Subject: [PATCH] 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 ........ --- Lib/test/test_urllib2.py | 3 ++- Lib/urllib/request.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Lib/test/test_urllib2.py b/Lib/test/test_urllib2.py index f77537d61e..11848e07e4 100644 --- a/Lib/test/test_urllib2.py +++ b/Lib/test/test_urllib2.py @@ -1145,7 +1145,8 @@ class HandlerTests(unittest.TestCase): base64.encodebytes(userpass).strip().decode()) 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/urllib/request.py b/Lib/urllib/request.py index 07a7ee6960..b9de4793b3 100644 --- a/Lib/urllib/request.py +++ b/Lib/urllib/request.py @@ -795,7 +795,7 @@ class AbstractBasicAuthHandler: auth = "Basic " + base64.b64encode(raw.encode()).decode("ascii") 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 -- 2.40.0