0

我已经编写了一个脚本,它将从 Sharepoint 下载电子表格到运行脚本的文件夹,并将更新电子表格。该脚本在给定的 Sharepoint 链接上运行良好。当 Sharepoint 链接更改并且现在提供不同的下载 URL 时,虽然我将响应标头的状态代码设置为 200,但下载 Excel 电子表格时,它正在下载登录页面。

然后我尝试从 Chrome 手动打开 url。在 chrome 中也是第一次从给定的 url 显示登录页面,当输入登录信息(用户名,密码)然后自动下载文件,下次何时url 是给定的 chrome 正在直接下载文件(可能是在 cookie 的帮助下)。

我用于下载文件的代码是-

import requests, os
from requests_ntlm import HttpNtlmAuth
url="https://securewiki.ith.intel.com/download/attachments"
r=requests.get(url,auth=HttpNtlmAuth('Usrname','password'),verify=False)
with open('Excel.xlsm', 'wb') as output:
    output.write(r.content)

如何提供登录信息,因为我已经在验证用户“HttpNtlmAuth”,然后为什么在下载之前询问登录以及如何在 python 中提供带有请求标头的登录信息。

我还尝试查看响应标头-它包含类似-Cache-Control': 'no-cache, must-revalidate' 的内容。问题是因为这个吗?请告诉我如何解决问题并在请求标头中提供登录信息,以便可以下载文件。

我还尝试使用 - 提供用户名和密码作为有效负载 -

payload={'Username':'abc','Password':'xyz'}
requests.get(url,payload=payload,(rest everything same as previous header)) 

响应头中显示的内容类型是“text/html”

但这也不起作用。有人可以指出错误或可能的解决方案吗? 注意 -有问题的链接是示例链接

4

0 回答 0