Author xtreak
Recipients orsenthil, terry.reedy, xtreak
Date 2019-04-27.06:02:26
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
This is still an issue and the relevant RFC part and a unittest would be as below. I would propose adding a new keyword argument with 401 as default value to ensure backwards compatibility with older versions. I can propose a PR if agreed and also improve test case since changing the hard coded status code from 401 to 407 doesn't seem to cause any failure.

3.2.  407 Proxy Authentication Required

   The 407 (Proxy Authentication Required) status code is similar to 401
   (Unauthorized), but it indicates that the client needs to
   authenticate itself in order to use a proxy.  The proxy MUST send a
   Proxy-Authenticate header field (Section 4.3) containing a challenge
   applicable to that proxy for the target resource.  The client MAY
   repeat the request with a new or replaced Proxy-Authorization header
   field (Section 4.4).


diff --git a/Lib/test/ b/Lib/test/
index 591b48d6d4..ab8dd32795 100644
--- a/Lib/test/
+++ b/Lib/test/
@@ -357,9 +357,9 @@ class ProxyAuthTests(unittest.TestCase):
         self.proxy_digest_handler.add_password(self.REALM, self.URL,
                                                self.USER, self.PASSWD+"bad")
-        self.assertRaises(urllib.error.HTTPError,
-                ,
-                          self.URL)
+        with self.assertRaises(urllib.error.HTTPError) as cm:
+        self.assertEqual(cm.exception.code, 407)

     def test_proxy_with_no_password_raises_httperror(self):

$ ./python.exe -m unittest -v test.test_urllib2_localnet.ProxyAuthTests.test_proxy_with_bad_password_raises_httperror
test_proxy_with_bad_password_raises_httperror (test.test_urllib2_localnet.ProxyAuthTests) ... FAIL

FAIL: test_proxy_with_bad_password_raises_httperror (test.test_urllib2_localnet.ProxyAuthTests)
Traceback (most recent call last):
  File "/Users/karthikeyansingaravelan/stuff/python/cpython/Lib/test/", line 362, in test_proxy_with_bad_password_raises_httperror
    self.assertEqual(cm.exception.code, 407)
AssertionError: 401 != 407

Ran 1 test in 0.160s

FAILED (failures=1)
Date User Action Args
2019-04-27 06:02:26xtreaksetrecipients: + xtreak, terry.reedy, orsenthil
2019-04-27 06:02:26xtreaksetmessageid: <>
2019-04-27 06:02:26xtreaklinkissue9643 messages
2019-04-27 06:02:26xtreakcreate