python - 使用 requests 在 Python 中下载 SSRS 报告

标签 python reporting-services python-requests

我正在尝试使用requests下载SSRS报告。以下代码将下载一个空的 Excel 文件:

url = 'http://MY REPORT URL HERE/ReportServer?/REPORT NAME HERE&rs:Format=EXCELOPENXML'

s = requests.Session()
s.post(url, data={'_username': 'username, '_password': 'password'})

r = s.get(url)

output_file = r'C:\Saved Reports\File.xlsx'

downloaded_file = open(output_file, 'wb')
for chunk in r.iter_content(100000):
    downloaded_file.write(chunk)

我已成功使用requests_ntlm来完成此任务,但我想知道为什么上面的代码没有按预期工作。 Excel 文件结果是空的;我认为这是由于登录并将这些 cookie 传递给 GET 请求时出现问题所致。

最佳答案

我能够让它工作,但是对于 pdf。我找到了解决方案here

这是我的代码片段:

import requests
from requests_ntlm import HttpNtlmAuth

session = requests.Session()
session.auth = HttpNtlmAuth(domain+uid,pwd)
response = session.get(reporturl,stream=True)
print response.status_code
with open(outputlocation+mdcProp+'.pdf','wb') as pdf:
    for chunk in response.iter_content(chunk_size=1024):
        if chunk:
            pdf.write(chunk)
session.close()

关于python - 使用 requests 在 Python 中下载 SSRS 报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55821047/

相关文章:

python - 有两个在每次迭代时都会更改的矩阵,我可以以动画方式显示这些更改吗?(python)

python - 使用 .rename 和 .endswith 重命名多个图像

python - Pandas 在可变列上合并

reporting-services - 在 SSRS 报表生成器中获取行数

asp.net - ASP ReportViewer 显示大显示/隐藏参数栏

reporting-services - SSRS颜色表达

python - 我怎样才能清理这个请求结果?

python - 无法识别 URL 重定向

python - POST 数据应该是字节或字节的可迭代对象。它不能是 str 类型

python - 在 Python 请求中将字典放入字典