我嘗試了很長時間的不同方法來使用 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': ''}
這將返回包含某種表格的不同輸出。
添加回答
舉報
0/150
提交
取消