Alexander Weidinger added the comment:

So, I analyzed the error and I think I found the problem. (urllib.request - 
Python 3.5.0)

It all starts with l. 1079, as the 407 error gets handled, everything ok here, 
in l. 1081 http_error_auth_reqed(...) gets executed.

So next, we are in l. 939, also everything correct here, retry_http_digest_auth 
gets executed in l. 953. (woops, "http_digest_auth"?!, nah, let's see what 
comes next)

So we are in l. 953 and follow the code to come to the get_authorization(...) 
call.

Now we are in l. 981, and in that part of the code lies the problem.
To get the username and password for the proxy, the function 
find_user_password(realm, req.full_url) gets executed.

An example, if my proxy has the address abc.com:8080 and my request is for 
xyz.com, the function tries to find a password for the xyz.com url, instead of 
the abc.com:8080 url. So it can't find a password and the whole auth process 
stops with the 407 error.

But if you just change the line, to use the host, normal http digest auth 
doesn't work anymore, I would suggest?

So it's also obvious why the workaround of toobaz works.

--------------------------------------------------------

To solve the Problem, two auth handler would be needed, one for the proxy and 
one for normal http auth.
Two different handlers were used in the basic auth, so I think it would be an 
consistent solution?

----------
nosy: +alexwe

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue16095>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to