%global _empty_manifest_terminate_build 0 Name: python-requests-ntlm3 Version: 6.1.3b1 Release: 1 Summary: The HTTP NTLM proxy and/or server authentication library. License: ISC URL: https://github.com/mchampanis/requests-ntlm3 Source0: https://mirrors.aliyun.com/pypi/web/packages/16/bb/133b383e78081ecadce935ea9c3438e4819dd285b499f6daabc2573a1326/requests_ntlm3-6.1.3b1.tar.gz BuildArch: noarch Requires: python3-requests Requires: python3-ntlm-auth Requires: python3-cryptography Requires: python3-flake8 Requires: python3-bandit Requires: python3-flake8-isort Requires: python3-flake8-quotes Requires: python3-flask Requires: python3-pytest Requires: python3-pytest-cov Requires: python3-wheel Requires: python3-codecov Requires: python3-coverage Requires: python3-mock Requires: python3-faker %description # requests-ntlm3 [![Build Status](https://travis-ci.org/mchampanis/requests-ntlm3.svg?branch=master)](https://travis-ci.org/mchampanis/requests-ntlm3) [![codecov](https://codecov.io/gh/mchampanis/requests-ntlm3/branch/master/graph/badge.svg)](https://codecov.io/gh/mchampanis/requests-ntlm3) [![Python Version](https://img.shields.io/pypi/pyversions/requests-ntlm3.svg)](https://pypi.python.org/pypi/requests-ntlm3) [![PyPI Status](https://img.shields.io/pypi/v/requests-ntlm3.svg)](https://pypi.python.org/pypi/requests-ntlm3) [![Downloads](https://img.shields.io/pypi/dm/requests-ntlm3.svg)](https://pypi.python.org/pypi/requests-ntlm3) [![Licence](https://img.shields.io/github/license/mchampanis/requests-ntlm3.svg)](https://raw.githubusercontent.com/mchampanis/requests-ntlm3/master/LICENSE) [![Code Style: Black](https://img.shields.io/badge/code%20style-black-101010.svg)](https://github.com/psf/black) requests-ntlm3, which is based on [requests-ntlm](https://github.com/requests/requests-ntlm), allows for HTTP NTLM authentication using the requests library. ## Installation ```shell pip install requests-ntlm3 ``` ## Usage ### Basic Usage `HttpNtlmAuth` extends requests `AuthBase`, so usage is simple: ```python import requests from requests_ntlm3 import HttpNtlmAuth auth=HttpNtlmAuth('domain\\username','password') requests.get("http://ntlm_protected_site.com", auth=auth) ``` ___ ### Changing NTLM compatibility level See this [MS doc](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-2000-server/cc960646%28v=technet.10%29) on LM compatibility levels. `requests_ntlm3` defaults to compatibility level 3 which supports NTLMv2 [only]. You can change the compatibility level as follows: ```python import requests from requests_ntlm3 import HttpNtlmAuth, NtlmCompatibility username = 'domain\\username' password = 'password123' ntlm_compatibility = NtlmCompatibility.LM_AND_NTLMv1_WITH_ESS # => level 1 auth=HttpNtlmAuth(username, password, ntlm_compatibility=ntlm_compatibility) 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. ```python import requests from requests_ntlm3 import HttpNtlmAuth session = requests.Session() session.auth = HttpNtlmAuth('domain\\username','password') session.get('http://ntlm_protected_site.com') ``` ___ ### HTTP CONNECT Usage When using `requests-ntlm3` to create SSL proxy tunnel via [HTTP CONNECT](https://en.wikipedia.org/wiki/HTTP_tunnel#HTTP_CONNECT_method), 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: ```python import requests from requests_ntlm3 import ( HttpNtlmAuth, HttpNtlmAdapter, NtlmCompatibility ) username = '...' password = '...' proxy_ip = '...' proxy_port = '...' proxies = { 'http': 'http://{}:{}'.format(proxy_ip, proxy_port), 'https': 'http://{}:{}'.format(proxy_ip, proxy_port) } ntlm_compatibility = NtlmCompatibility.NTLMv2_DEFAULT session = requests.Session() session.mount( 'https://', HttpNtlmAdapter( username, password, ntlm_compatibility=ntlm_compatibility ) ) session.mount( 'http://', HttpNtlmAdapter( username, password, ntlm_compatibility=ntlm_compatibility ) ) session.auth = HttpNtlmAuth( username, password, ntlm_compatibility=ntlm_compatibility ) session.proxies = proxies response = session.get('http:/foobar.com') ``` ## Requirements - [requests](https://github.com/kennethreitz/requests/) - [ntlm-auth](https://github.com/jborean93/ntlm-auth) %package -n python3-requests-ntlm3 Summary: The HTTP NTLM proxy and/or server authentication library. Provides: python-requests-ntlm3 BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-requests-ntlm3 # requests-ntlm3 [![Build Status](https://travis-ci.org/mchampanis/requests-ntlm3.svg?branch=master)](https://travis-ci.org/mchampanis/requests-ntlm3) [![codecov](https://codecov.io/gh/mchampanis/requests-ntlm3/branch/master/graph/badge.svg)](https://codecov.io/gh/mchampanis/requests-ntlm3) [![Python Version](https://img.shields.io/pypi/pyversions/requests-ntlm3.svg)](https://pypi.python.org/pypi/requests-ntlm3) [![PyPI Status](https://img.shields.io/pypi/v/requests-ntlm3.svg)](https://pypi.python.org/pypi/requests-ntlm3) [![Downloads](https://img.shields.io/pypi/dm/requests-ntlm3.svg)](https://pypi.python.org/pypi/requests-ntlm3) [![Licence](https://img.shields.io/github/license/mchampanis/requests-ntlm3.svg)](https://raw.githubusercontent.com/mchampanis/requests-ntlm3/master/LICENSE) [![Code Style: Black](https://img.shields.io/badge/code%20style-black-101010.svg)](https://github.com/psf/black) requests-ntlm3, which is based on [requests-ntlm](https://github.com/requests/requests-ntlm), allows for HTTP NTLM authentication using the requests library. ## Installation ```shell pip install requests-ntlm3 ``` ## Usage ### Basic Usage `HttpNtlmAuth` extends requests `AuthBase`, so usage is simple: ```python import requests from requests_ntlm3 import HttpNtlmAuth auth=HttpNtlmAuth('domain\\username','password') requests.get("http://ntlm_protected_site.com", auth=auth) ``` ___ ### Changing NTLM compatibility level See this [MS doc](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-2000-server/cc960646%28v=technet.10%29) on LM compatibility levels. `requests_ntlm3` defaults to compatibility level 3 which supports NTLMv2 [only]. You can change the compatibility level as follows: ```python import requests from requests_ntlm3 import HttpNtlmAuth, NtlmCompatibility username = 'domain\\username' password = 'password123' ntlm_compatibility = NtlmCompatibility.LM_AND_NTLMv1_WITH_ESS # => level 1 auth=HttpNtlmAuth(username, password, ntlm_compatibility=ntlm_compatibility) 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. ```python import requests from requests_ntlm3 import HttpNtlmAuth session = requests.Session() session.auth = HttpNtlmAuth('domain\\username','password') session.get('http://ntlm_protected_site.com') ``` ___ ### HTTP CONNECT Usage When using `requests-ntlm3` to create SSL proxy tunnel via [HTTP CONNECT](https://en.wikipedia.org/wiki/HTTP_tunnel#HTTP_CONNECT_method), 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: ```python import requests from requests_ntlm3 import ( HttpNtlmAuth, HttpNtlmAdapter, NtlmCompatibility ) username = '...' password = '...' proxy_ip = '...' proxy_port = '...' proxies = { 'http': 'http://{}:{}'.format(proxy_ip, proxy_port), 'https': 'http://{}:{}'.format(proxy_ip, proxy_port) } ntlm_compatibility = NtlmCompatibility.NTLMv2_DEFAULT session = requests.Session() session.mount( 'https://', HttpNtlmAdapter( username, password, ntlm_compatibility=ntlm_compatibility ) ) session.mount( 'http://', HttpNtlmAdapter( username, password, ntlm_compatibility=ntlm_compatibility ) ) session.auth = HttpNtlmAuth( username, password, ntlm_compatibility=ntlm_compatibility ) session.proxies = proxies response = session.get('http:/foobar.com') ``` ## Requirements - [requests](https://github.com/kennethreitz/requests/) - [ntlm-auth](https://github.com/jborean93/ntlm-auth) %package help Summary: Development documents and examples for requests-ntlm3 Provides: python3-requests-ntlm3-doc %description help # requests-ntlm3 [![Build Status](https://travis-ci.org/mchampanis/requests-ntlm3.svg?branch=master)](https://travis-ci.org/mchampanis/requests-ntlm3) [![codecov](https://codecov.io/gh/mchampanis/requests-ntlm3/branch/master/graph/badge.svg)](https://codecov.io/gh/mchampanis/requests-ntlm3) [![Python Version](https://img.shields.io/pypi/pyversions/requests-ntlm3.svg)](https://pypi.python.org/pypi/requests-ntlm3) [![PyPI Status](https://img.shields.io/pypi/v/requests-ntlm3.svg)](https://pypi.python.org/pypi/requests-ntlm3) [![Downloads](https://img.shields.io/pypi/dm/requests-ntlm3.svg)](https://pypi.python.org/pypi/requests-ntlm3) [![Licence](https://img.shields.io/github/license/mchampanis/requests-ntlm3.svg)](https://raw.githubusercontent.com/mchampanis/requests-ntlm3/master/LICENSE) [![Code Style: Black](https://img.shields.io/badge/code%20style-black-101010.svg)](https://github.com/psf/black) requests-ntlm3, which is based on [requests-ntlm](https://github.com/requests/requests-ntlm), allows for HTTP NTLM authentication using the requests library. ## Installation ```shell pip install requests-ntlm3 ``` ## Usage ### Basic Usage `HttpNtlmAuth` extends requests `AuthBase`, so usage is simple: ```python import requests from requests_ntlm3 import HttpNtlmAuth auth=HttpNtlmAuth('domain\\username','password') requests.get("http://ntlm_protected_site.com", auth=auth) ``` ___ ### Changing NTLM compatibility level See this [MS doc](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-2000-server/cc960646%28v=technet.10%29) on LM compatibility levels. `requests_ntlm3` defaults to compatibility level 3 which supports NTLMv2 [only]. You can change the compatibility level as follows: ```python import requests from requests_ntlm3 import HttpNtlmAuth, NtlmCompatibility username = 'domain\\username' password = 'password123' ntlm_compatibility = NtlmCompatibility.LM_AND_NTLMv1_WITH_ESS # => level 1 auth=HttpNtlmAuth(username, password, ntlm_compatibility=ntlm_compatibility) 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. ```python import requests from requests_ntlm3 import HttpNtlmAuth session = requests.Session() session.auth = HttpNtlmAuth('domain\\username','password') session.get('http://ntlm_protected_site.com') ``` ___ ### HTTP CONNECT Usage When using `requests-ntlm3` to create SSL proxy tunnel via [HTTP CONNECT](https://en.wikipedia.org/wiki/HTTP_tunnel#HTTP_CONNECT_method), 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: ```python import requests from requests_ntlm3 import ( HttpNtlmAuth, HttpNtlmAdapter, NtlmCompatibility ) username = '...' password = '...' proxy_ip = '...' proxy_port = '...' proxies = { 'http': 'http://{}:{}'.format(proxy_ip, proxy_port), 'https': 'http://{}:{}'.format(proxy_ip, proxy_port) } ntlm_compatibility = NtlmCompatibility.NTLMv2_DEFAULT session = requests.Session() session.mount( 'https://', HttpNtlmAdapter( username, password, ntlm_compatibility=ntlm_compatibility ) ) session.mount( 'http://', HttpNtlmAdapter( username, password, ntlm_compatibility=ntlm_compatibility ) ) session.auth = HttpNtlmAuth( username, password, ntlm_compatibility=ntlm_compatibility ) session.proxies = proxies response = session.get('http:/foobar.com') ``` ## Requirements - [requests](https://github.com/kennethreitz/requests/) - [ntlm-auth](https://github.com/jborean93/ntlm-auth) %prep %autosetup -n requests_ntlm3-6.1.3b1 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-requests-ntlm3 -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Jun 20 2023 Python_Bot - 6.1.3b1-1 - Package Spec generated