Skip to main content

The HTTP NTLM proxy and/or server authentication library.

Project description

requests-ntlm2

Build Status codecov Python Version PyPI Status Downloads Licence

requests-ntlm2, which is based on requests-ntlm , allows for HTTP NTLM authentication using the requests library.

Usage

Basic Usage

HttpNtlmAuth extends requests AuthBase, so usage is simple:

import requests
from requests_ntlm3 import HttpNtlmAuth

auth=HttpNtlmAuth('domain\\username','password')
requests.get("http://ntlm_protected_site.com", auth=auth)

Using with Requests Session

HttpNtlmAuth can be used in conjunction with a Session in order to make use of connection pooling. Since NTLM authenticates connections, this is more efficient. Otherwise, each request will go through a new NTLM challenge-response.

import requests
from requests_ntlm3 import HttpNtlmAuth

session = requests.Session()
session.auth = HttpNtlmAuth('domain\\username','password')
session.get('http://ntlm_protected_site.com')

HTTPS CONNECT Usage

When using requests-ntlm2 to create SSL proxy tunnel via HTTPS CONNECT, the so-called "NTLM Dance" - ie, the NTLM authentication handshake - has to be done at the lower level (at httplib level) at tunnel-creation step. This means that you should use the HttpNtlmAdapter and requests session. This HttpNtlmAdapter is responsible for sending proxy auth information downstream.

Here is a basic example:

import requests
from requests_ntlm3 import HttpNtlmAuth, HttpNtlmAdapter

username = '...'
password = '...'
proxy_ip = '...'
proxy_port = '...'

proxies = {
    'http': 'http://{}:{}'.format(proxy_ip, proxy_port),
    'https': 'http://{}:{}'.format(proxy_ip, proxy_port)
}

url = 'http:/foobar.com'

session = requests.Session()
session.mount('https://', HttpNtlmAdapter(username, password))
session.mount('http://', HttpNtlmAdapter(username, password))
session.auth = HttpNtlmAuth(username, password)
session.proxies = proxies

response = session.get(url)

Installation

pip install requests-ntlm2

Requirements

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

requests_ntlm3-6.0.11b0.tar.gz (9.8 kB view details)

Uploaded Source

Built Distributions

requests_ntlm3-6.0.11b0-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

requests_ntlm3-6.0.11b0-py2-none-any.whl (11.5 kB view details)

Uploaded Python 2

File details

Details for the file requests_ntlm3-6.0.11b0.tar.gz.

File metadata

  • Download URL: requests_ntlm3-6.0.11b0.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/2.7.15

File hashes

Hashes for requests_ntlm3-6.0.11b0.tar.gz
Algorithm Hash digest
SHA256 1434ee0eaa345b1aadd6e43b975479924bef8c9f407a2bc710474661abaf9b0f
MD5 fa52707957e4d3118a55bacd7ccc2e8b
BLAKE2b-256 71f27524acd97790c4ab409a90e93d8cc23843e9a7c4873420a348a17c6593a9

See more details on using hashes here.

File details

Details for the file requests_ntlm3-6.0.11b0-py3-none-any.whl.

File metadata

  • Download URL: requests_ntlm3-6.0.11b0-py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.6.7

File hashes

Hashes for requests_ntlm3-6.0.11b0-py3-none-any.whl
Algorithm Hash digest
SHA256 a2cd892a70f241fa02ed3e55c9eb66c9700aebca681131a7d673a086a7f4c001
MD5 42a490b9707bd230ef44ee9565f840ca
BLAKE2b-256 5ab75d0e83fffb71e5f6b60a7a545ba12baaf8ee07dee2422087d0f8459d19ec

See more details on using hashes here.

File details

Details for the file requests_ntlm3-6.0.11b0-py2-none-any.whl.

File metadata

  • Download URL: requests_ntlm3-6.0.11b0-py2-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/2.7.15

File hashes

Hashes for requests_ntlm3-6.0.11b0-py2-none-any.whl
Algorithm Hash digest
SHA256 f7885703dc06e12ec371059a580184b018fd9a924d5f1a7419cc84bf16bd4ce6
MD5 881e003ac27a6d7d3b2a2c2d97536960
BLAKE2b-256 b43f180b9809a1b5c8e6b2c7b32f8ecb56180b72881197588b25004104fa332d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page