New submission from Jan-Klaas Kollhof <[EMAIL PROTECTED]>: When using a proxy to request URLs that require Digest Auth, a header similar to the following is sent to the server:
Authorization: Digest ... uri="http://example.org/foobar/spam" ... The server then responded with: HTTP/1.1 400 Bad Request Server: Microsoft-IIS/6.0 When not using a proxy, the header sent will look like: Authorization: Digest ... uri="/foobar/spam" ... and the server responded as expected with a 200 OK. I don't know what is at fault here, urllib2 or IIS, but patching the urllib2 to not use the full URL, when creating the Digest Auth. header, works. When a proxy is being used by urllib2, the Request's get_selector() will always return the full URL instead of just the selector. The code that creates the Digest auth. header also uses the get_selector() to set the "uri="-part in the auth header. Making sure that the "uri="-part is not a full URL all seems to work. See the patched urllib2.py attached. I have only tested the fix against the server I had problems with, and it seems to be working. ---------- components: Library (Lib) files: urllib2.py messages: 74918 nosy: jan.kollhof severity: normal status: open title: urllib2: request with digest auth through proxy fail type: behavior versions: Python 2.5 Added file: http://bugs.python.org/file11819/urllib2.py _______________________________________ Python tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue4140> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com