Python 请求 - 从获取表单下载文件
Python Requests - Download File From Get Form
我正在使用 Python 请求包下载 CSV 文件。我已通过 Python 成功浏览网页,但仍停留在下载文件的最后阶段。我被重定向到这里,html 看起来像这样:
<html>
<body>
<form action='/export_data_test/convertxl.aspx' method='get'>
<input type='hidden' name='SID' value='me@domain.com'>
</form>
<script>window.onload = function() {document.forms[0].submit();}</script>
</body>
</html>
我习惯于提交使用 POST 方法的表单,但我发现正在使用 GET。此外,此页面会自动提交表单 "onload",因此浏览器通常会立即下载它。目前尚不清楚如何使用 Python 请求包捕获它。
我试过:
session.get(domain+"/export_data_test/convertxl.aspx", data=payload, allow_redirects=True, verify=certifi.where())
但是,此 returns 响应不包含任何内容(我希望是 CSV 文件)。同样,通过浏览器的行为是下载文件。
为了防止其他人犯与我相同的错误,get
方法将 params
作为参数,而 不是 data
(用于 post
方法)。所以,正确的payload发送方式如下:
session.get(domain+"/export_data_test/convertxl.aspx",
params=payload,
allow_redirects=True,
verify=certifi.where())
我正在使用 Python 请求包下载 CSV 文件。我已通过 Python 成功浏览网页,但仍停留在下载文件的最后阶段。我被重定向到这里,html 看起来像这样:
<html>
<body>
<form action='/export_data_test/convertxl.aspx' method='get'>
<input type='hidden' name='SID' value='me@domain.com'>
</form>
<script>window.onload = function() {document.forms[0].submit();}</script>
</body>
</html>
我习惯于提交使用 POST 方法的表单,但我发现正在使用 GET。此外,此页面会自动提交表单 "onload",因此浏览器通常会立即下载它。目前尚不清楚如何使用 Python 请求包捕获它。
我试过:
session.get(domain+"/export_data_test/convertxl.aspx", data=payload, allow_redirects=True, verify=certifi.where())
但是,此 returns 响应不包含任何内容(我希望是 CSV 文件)。同样,通过浏览器的行为是下载文件。
为了防止其他人犯与我相同的错误,get
方法将 params
作为参数,而 不是 data
(用于 post
方法)。所以,正确的payload发送方式如下:
session.get(domain+"/export_data_test/convertxl.aspx",
params=payload,
allow_redirects=True,
verify=certifi.where())