python 的 ntlm 验证有问题

Having trouble with python's ntlm auth

基于 requests_ntlm 文档中的此模板:

import requests
from requests_ntlm import HttpNtlmAuth

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

...我有以下尝试连接到 SharePoint 页面的代码:

import requests
from requests_ntlm import HttpNtlmAuth

def main():

    response = requests.get('https://my-site-url.com', auth='https://my-site-url.com\MY_USER_NAME', 'MY_PASS')
    print response


if __name__ == "__main__":
            main()

很遗憾,我收到了 401 响应。

我假设文档中提到的 "domain" 与“https://my-site-url.com”相同。对吗?

此外,我的语法有什么明显的错误吗?

我应该注意到我的 curl 请求有效,所以我知道我的用户名和密码没有问题。

curl -f -v --ntlm -u MY_USER_NAME https://my-site-url.com

如果您的 curl 调用在用户名前面没有域的情况下工作,您应该能够在您的 python 代码中省略它。

尝试

auth=HttpNtlmAuth('MY_USERNAME','MY_PASS')

我使用它来工作:

auth=HttpNtlmAuth("\MY_USER_NAME", "MY_PASS")