首页 > 解决方案 > 如何通过 HttpNtlmAuth 使用 Web 代理 - auth_header_value 是协商的

问题描述

我有以下。如果我取出, proxies=proxies并尝试连接到 Intranet,它可以工作,我会收到回复。

但是,如果我尝试使用上述内容的外部站点(根据下面的示例),我会收到 407 错误

import requests
from requests_ntlm import HttpNtlmAuth
proxies = {'http': 'http://myproxy.local:9090'}
ntlm_auth = HttpNtlmAuth('DomainName\\MyUsername','MyPassword')
res = requests.get("https://bbc.co.uk",auth=ntlm_auth, proxies=proxies)
print(res.content)

我在做一些明显不正确的事情吗?当我去 IE 并查看那里的代理信息时,这正是我正在使用的

更新

import requests
from requests_ntlm import HttpNtlmAuth
ntlm_auth = HttpNtlmAuth("DomainName\\MyUsername","MyPassword")
proxies = {'http': 'http://myproxy.local:9090'}

s = requests.Session()
s.proxies = proxies
s.auth = ntlm_auth

res = s.get("http://bbc.co.uk")
print(res.content)

我得到以下信息:

在此处输入图像描述

当输出auth_header_value我得到的值时negotiate

标签: pythonpython-3.x

解决方案


推荐阅读