Python 请求帖子不会被重定向

问题描述 投票:0回答:2

当我使用 Chrome 在此网站上发布内容时:“http://xh.5156edu.com/index.php”,我被重定向到一个新页面。但是,当我使用 python request 模块来发帖时,如下所示:

r = requests.post("http://xh.5156edu.com/index.php", data="f_key=%B7%AB&SearchString.x=0&SearchString.y=0")

状态码是200,内容不是我想要的。我确信该数据与 Chrome 发送的数据相同。我不明白脚本出了什么问题。我还尝试添加一些标题,但这也不起作用。

python python-requests web-crawler
2个回答
0
投票

问题是 POST 在重定向后变成了 GET,这不是你想要的。

在这里查看我的答案https://stackoverflow.com/a/78845896/364818

简单地说,

requests
被故意破坏,在重定向后将 POST 转换为 GET,以模仿浏览器被破坏的方式...


-1
投票

您作为数据传递的实际上是查询参数。

这就是您所需要的:

import requests
params = {'f_key': '%B7%AB', 'SearchString.x': '0', 'SearchString.y': '0'}
(r := requests.post("http://xh.5156edu.com/index.php", params=params)).raise_for_status()
with open('x.html', 'w') as html:
    html.write(r.text)

然后您可以打开 x.html 查看响应

© www.soinside.com 2019 - 2024. All rights reserved.