Код возвращает ошибку 407 Proxy Authentication Required, указывающую, что мои учетные данные не принимаются прокси-сервером. . Когда я реплицирую запрос на C#, используя аналогичные учетные данные и настройки, я успешно и без проблем аутентифицируюсь через прокси.
Ошибка:
Код: Выделить всё
HTTPSConnectionPool(host='target-host.com', port=443): Max retries exceeded with url: / (Caused by ProxyError('Unable to connect to proxy', OSError('Tunnel connection failed: 407 Proxy Authentication Required')))
Код: Выделить всё
curl -v --proxy-negotiate -x http://proxy.com:port https://target-host.com/
Что я пробовал:
[*]Настройка Request_ntlm для обработки аутентификации NTLM через прокси.
[*]Указание переменных среды HTTP_PROXY и HTTPS_PROXY в соответствии с корпоративными стандартами.
[*]Использование запросов-kerberos, запросов-согласования-sspi и запросов-ntlm без успеха и той же ошибки.
[*]Аутентификация с помощью запросов следующим образом:
Код: Выделить всё
import requests
from requests.auth import HTTPBasicAuth
url = "https://target-host.com/"
return_obj = "-"
proxies = {
"http": "http://proxy.com:port",
"https": "http://proxy.com:port"
}
auth = HTTPBasicAuth('domain\\username', 'password')
try:
response = requests.get(url, proxies=proxies, auth=auth)
return_obj = response.text
print(f"Status Code: {response.status_code}")
print(f"Response Body: {response.text}")
except requests.exceptions.RequestException as e:
# Handle any exceptions (e.g., network issues, timeouts)
print(f"An error occurred: {e}")
return return_obj
Python 3.9.13
requests-kerberos==0.15.0
requests-negotiate-sspi==0.5.2
requests_ntlm==1.3.0
ОС: Windows 11
Подробнее здесь: https://stackoverflow.com/questions/791 ... roxy-setup