]> granicus.if.org Git - python/commit
Close #19494: add urrlib.request.HTTPBasicPriorAuthHandler
authorNick Coghlan <ncoghlan@gmail.com>
Wed, 12 Nov 2014 13:33:50 +0000 (23:33 +1000)
committerNick Coghlan <ncoghlan@gmail.com>
Wed, 12 Nov 2014 13:33:50 +0000 (23:33 +1000)
commitc216c4869921cb9ade491704f945d6f1401ccbcc
tree4f72aacd2ea44a4a9fba3312d62873f7ff611602
parentab14088141ab749763e35b7a49e79c368940e12d
Close #19494: add urrlib.request.HTTPBasicPriorAuthHandler

This auth handler adds the Authorization header to the first
HTTP request rather than waiting for a HTTP 401 Unauthorized
response from the server as the default HTTPBasicAuthHandler
does.

This allows working with websites like https://api.github.com which do
not follow the strict interpretation of RFC, but more the dicta in the
end of section 2 of RFC 2617:

    > A client MAY preemptively send the corresponding Authorization
    > header with requests for resources in that space without receipt
    > of another challenge from the server.  Similarly, when a client
    > sends a request to a proxy, it may reuse a userid and password in
    > the Proxy-Authorization header field without receiving another
    > challenge from the proxy server. See section 4 for security
    > considerations associated with Basic authentication.

Patch by Matej Cepl.
Doc/library/urllib.request.rst
Doc/whatsnew/3.5.rst
Lib/test/test_urllib2.py
Lib/urllib/request.py
Misc/NEWS