尝试使用Python请求从网址下载电子表格时获取登录页面

时间:2018-10-15 18:07:04

标签: python python-requests python-jsonschema

我编写了一个脚本,该脚本将从Sharepoint下载电子表格到运行该脚本的文件夹中,并将更新电子表格。脚本与给定的Sharepoint链接配合正常。更改Sharepoint链接后,尽管我得到的响应标头的状态码为200,但是现在提供了不同的URL供下载,但如果要下载Excel Spreadsheet,则要下载登录页面。

然后我尝试从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,必须重新验证” 。问题是否因此而来?请告诉我如何解决该问题,并在请求标头中提供登录名,以便可以下载文件。

我还尝试使用-

提供用户名和密码作为有效载荷
payload={'Username':'abc','Password':'xyz'}
requests.get(url,payload=payload,(rest everything same as previous header)) 

响应标题中显示的内容类型为“ text / html”

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

0 个答案:

没有答案