summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-requests-ntlm3.spec474
-rw-r--r--sources1
3 files changed, 476 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..635091e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/requests_ntlm3-6.1.3b1.tar.gz
diff --git a/python-requests-ntlm3.spec b/python-requests-ntlm3.spec
new file mode 100644
index 0000000..4b6ef5a
--- /dev/null
+++ b/python-requests-ntlm3.spec
@@ -0,0 +1,474 @@
+%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 <Python_Bot@openeuler.org> - 6.1.3b1-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..3e31da3
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+ed228fd79c846738cd459e800aa73d6b requests_ntlm3-6.1.3b1.tar.gz