【问题标题】:Python throwing 401 error when trying to access SharePoint lists尝试访问 SharePoint 列表时 Python 抛出 401 错误
【发布时间】:2016-09-10 04:44:09
【问题描述】:

我在关注this link 时尝试了基本身份验证。我还关注this question,使用 NTLM auth 获取下面的代码。我仍然被抛出 401 错误。这是拉取 SharePoint 列表的过时方式还是我的代码有问题?

import requests

from requests_ntlm import HttpNtlmAuth

response = requests.get("https://example.com/_api/web/...", auth=HttpNtlmAuth('username', 'password'))

print(response.status_code)

【问题讨论】:

  • 这是响应 401 状态的服务器。什么是响应体? print(response.text)你确定服务器使用ntlm?您是否能够使用 curl 或任何其他方式进行连接?您是否尝试过使用请求 accept 标头。 {'accept': 'application/json'}
  • 我确定服务器使用了ntlm,并且我们已经能够使用jquery进行连接。当我输入 response.text 时,我没有得到任何输出。我将尝试添加接受标头

标签: python sharepoint


【解决方案1】:

你的方法已经足够好了。

尝试以下更改:

import requests
from requests_ntlm import HttpNtlmAuth

url="https://sharepointexample.com/"
user, pwd = "username", "pwd"
headers = {'accept': 'application/json;odata=verbose'}
r = requests.get(url, auth=HttpNtlmAuth(user, pwd), headers=headers)
print(r.status_code)
print(r.content)

这里不会遇到 401 响应,而是 Response 为 200,表示 HTTP 响应正常!!..

接下来的内容将显示您可以解析为 html 页面的列表选项。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    • 2011-09-15
    • 1970-01-01
    • 1970-01-01
    • 2020-06-10
    • 1970-01-01
    • 2021-02-26
    相关资源
    最近更新 更多