为了账号安全,请及时绑定邮箱和手机立即绑定

无法向旧网站发送 POST 请求

无法向旧网站发送 POST 请求

30秒到达战场 2021-10-10 16:20:04
我尝试了很长时间的不同方法来使用 python 请求向表单提交 POST 请求,但没有运气。我正在尝试发送'3513'到具有名称的表单文本字段TextTrnNo,然后从网站获取信息。我失败的方法之一:import requestspayload = {'TextTrnNo': '3513'}r = requests.post('https://appiris.infofer.ro/mytrainro.aspx', data=payload)print(r.text)来自谷歌浏览器的标题:Request URL: https://appiris.infofer.ro/ScriptResource.axd?d=JNg0fH_zydENJ7nFcOtvc6yqY25aZ8vD-Ng7zdFvgOejMomgDzr5SQOfJxd86HrHIAnJdwgVKGKwlCLMquTcg919u2vCLYJz5V0xHnmOduOfc5VgeUHRZPW3jweNO1vqw9JZLWTSVL3z295y_EUsB350MMAhbUa41ssYQzHWget11mAeRCd_ANONdJnWqlOV0&t=5854e822Request Method: GETStatus Code: 200  (from memory cache)Remote Address: 193.230.156.188:443Referrer Policy: no-referrer-when-downgradecache-control: publiccontent-encoding: gzipcontent-length: 55951content-type: application/x-javascriptdate: Sun, 13 Jan 2019 17:04:19 GMTexpires: Sun, 12 Jan 2020 22:49:44 GMTlast-modified: Sat, 12 Jan 2019 22:49:44 GMTserver: Microsoft-IIS/6.0status: 200x-powered-by: ASP.NETProvisional headers are shownd: JNg0fH_zydENJ7nFcOtvc6yqY25aZ8vD-Ng7zdFvgOejMomgDzr5SQOfJxd86HrHIAnJdwgVKGKwlCLMquTcg919u2vCLYJz5V0xHnmOduOfc5VgeUHRZPW3jweNO1vqw9JZLWTSVL3z295y_EUsB350MMAhbUa41ssYQzHWget11mAeRCd_ANONdJnWqlOV0t: 5854e822
查看完整描述

1 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

您的代码在发送带有您想要的数据的 post 请求时是正确的。但是,在查看发送到站点的网络请求时,我注意到您遗漏了几个字段,这些字段会阻止站点解析发布请求。这些字段是:

  • Button1

  • __VIEWSTATE

它们可以完全空白,它们只需要成为发布请求的一部分,从而使您的完整有效负载变量:

payload = {'TextTrnNo': '3513', 'Button1': '', '__VIEWSTATE': ''}

这将返回包含某种表格的不同输出。


查看完整回答
反对 回复 2021-10-10
  • 1 回答
  • 0 关注
  • 168 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信