Python请求-从获取表单下载文件

色拉

我正在使用Python请求包下载CSV文件。我通过Python成功浏览了网页,但停留在下载文件的最后阶段。我被重定向到这里,并且html看起来像这样:

<html>
    <body>
    <form action='/export_data_test/convertxl.aspx' method='get'>
        <input type='hidden' name='SID' value='[email protected]'>
    </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())

但是,这将返回不包含任何内容的响应(我希望是CSV文件)。同样,通过浏览器的行为是下载了文件。

色拉

万一其他人犯了与我相同的错误,该get方法将params作为参数而不是 参数data(用于post方法)。因此,发送有效负载的正确方法如下所示:

session.get(domain+"/export_data_test/convertxl.aspx", 
            params=payload, 
            allow_redirects=True, 
            verify=certifi.where())

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章