How to use the requests3.auth.HTTPDigestAuth function in requests3

To help you get started, we’ve selected a few requests3 examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github psf / requests / tests / test_requests.py View on Github external
def test_DIGESTAUTH_WRONG_HTTP_401_GET(self, httpbin, s):
        auth = HTTPDigestAuth('user', 'wrongpass')
        url = httpbin('digest-auth', 'auth', 'user', 'pass')
        r = requests.get(url, auth=auth)
        assert r.status_code == 401
        r = requests.get(url)
        assert r.status_code == 401
        s.auth = auth
        r = s.get(url)
        assert r.status_code == 401
github psf / requests / tests / test_requests.py View on Github external
def test_DIGEST_AUTH_RETURNS_COOKIE(self, httpbin):
        url = httpbin('digest-auth', 'auth', 'user', 'pass')
        auth = HTTPDigestAuth('user', 'pass')
        r = requests.get(url)
        assert r.cookies['fake'] == 'fake_value'
        r = requests.get(url, auth=auth)
        assert r.status_code == 200
github psf / requests / tests / test_requests.py View on Github external
def test_DIGEST_HTTP_200_OK_GET(self, httpbin, s):
        auth = HTTPDigestAuth('user', 'pass')
        url = httpbin('digest-auth', 'auth', 'user', 'pass')
        r = requests.get(url, auth=auth)
        assert r.status_code == 200
        r = requests.get(url)
        assert r.status_code == 401

        s.auth = HTTPDigestAuth('user', 'pass')
        r = s.get(url)
        assert r.status_code == 200
github psf / requests / tests / test_lowlevel.py View on Github external
"""Ensure we correctly respond to a 401 challenge once, and then
    stop responding if challenged again.
    """
    text_401 = (
        b'HTTP/1.1 401 UNAUTHORIZED\r\n'
        b'Content-Length: 0\r\n'
        b'WWW-Authenticate: Digest nonce="6bf5d6e4da1ce66918800195d6b9130d"'
        b', opaque="372825293d1c26955496c80ed6426e9e", '
        b'realm="me@kennethreitz.com", qop=auth\r\n\r\n'
    )
    expected_digest = (
        b'Authorization: Digest username="user", '
        b'realm="me@kennethreitz.com", '
        b'nonce="6bf5d6e4da1ce66918800195d6b9130d", uri="/"'
    )
    auth = requests.auth.HTTPDigestAuth('user', 'pass')

    def digest_failed_response_handler(sock):
        # Respond to initial GET with a challenge.
        request_content = consume_socket_content(sock, timeout=0.5)
        assert request_content.startswith(b"GET / HTTP/1.1")
        sock.send(text_401)
        # Verify we receive an Authorization header in response, then
        # challenge again.
        request_content = consume_socket_content(sock, timeout=0.5)
        assert expected_digest in request_content
        sock.send(text_401)
        # Verify the client didn't respond to second challenge.
        request_content = consume_socket_content(sock, timeout=0.5)
        assert request_content == b''
        return request_content
github psf / requests / tests / test_lowlevel.py View on Github external
b'WWW-Authenticate: Digest nonce="6bf5d6e4da1ce66918800195d6b9130d"'
        b', opaque="372825293d1c26955496c80ed6426e9e", '
        b'realm="me@kennethreitz.com", qop=auth\r\n\r\n'
    )
    text_302 = (
        b'HTTP/1.1 302 FOUND\r\n'
        b'Content-Length: 0\r\n'
        b'Location: /\r\n\r\n'
    )
    text_200 = (b'HTTP/1.1 200 OK\r\n' b'Content-Length: 0\r\n\r\n')
    expected_digest = (
        b'Authorization: Digest username="user", '
        b'realm="me@kennethreitz.com", '
        b'nonce="6bf5d6e4da1ce66918800195d6b9130d", uri="/"'
    )
    auth = requests.auth.HTTPDigestAuth('user', 'pass')

    def digest_response_handler(sock):
        # Respond to initial GET with a challenge.
        request_content = consume_socket_content(sock, timeout=0.5)
        assert request_content.startswith(b"GET / HTTP/1.1")
        sock.send(text_401)
        # Verify we receive an Authorization header in response, then redirect.
        request_content = consume_socket_content(sock, timeout=0.5)
        assert expected_digest in request_content
        sock.send(text_302)
        # Verify Authorization isn't sent to the redirected host,
        # then send another challenge.
        request_content = consume_socket_content(sock, timeout=0.5)
        assert b'Authorization:' not in request_content
        sock.send(text_401)
        # Verify Authorization is sent correctly again, and return 200 OK.
github psf / requests / tests / test_requests.py View on Github external
def test_DIGEST_AUTH_SETS_SESSION_COOKIES(self, httpbin, s):
        url = httpbin('digest-auth', 'auth', 'user', 'pass')
        auth = HTTPDigestAuth('user', 'pass')

        s.get(url, auth=auth)
        assert s.cookies['fake'] == 'fake_value'
github psf / requests / tests / test_requests.py View on Github external
def test_DIGESTAUTH_QUOTES_QOP_VALUE(self, httpbin):
        auth = HTTPDigestAuth('user', 'pass')
        url = httpbin('digest-auth', 'auth', 'user', 'pass')
        r = requests.get(url, auth=auth)
        assert '"auth"' in r.request.headers['Authorization']
github psf / requests / tests / test_requests.py View on Github external
def test_DIGEST_HTTP_200_OK_GET(self, httpbin, s):
        auth = HTTPDigestAuth('user', 'pass')
        url = httpbin('digest-auth', 'auth', 'user', 'pass')
        r = requests.get(url, auth=auth)
        assert r.status_code == 200
        r = requests.get(url)
        assert r.status_code == 401

        s.auth = HTTPDigestAuth('user', 'pass')
        r = s.get(url)
        assert r.status_code == 200
github psf / requests / tests / test_requests.py View on Github external
def test_DIGEST_STREAM(self, httpbin):
        auth = HTTPDigestAuth('user', 'pass')
        url = httpbin('digest-auth', 'auth', 'user', 'pass')
        r = requests.get(url, auth=auth, stream=True)
        assert r.raw.read() != b''
        r = requests.get(url, auth=auth, stream=False)
        assert r.raw.read() == b''