![](/img/trans.png)
[英]HTTP POST, curl and mod_python - How to handle POST request without HTML FORM element?
[英]Proper HTTP POST request to mimic submitting an online form (using HTML, cURL or python)
問題描述:我無法弄清楚我的 HTTP 請求中缺少什么以在此表單后進入下一頁:當我從我的代碼執行此操作時,我登陸了“歡迎”頁面,而不是從預期的頁面登陸下面的第 2 步:
第 1 步:填寫以下內容並在瀏覽器中單擊“搜索”:
第 2 步:我進入下一頁:
我已經查找了所有發布的表單數據,並在此處做了一個簡化的預填表單,但在這種情況下單擊“搜索”不起作用:
我試過的
curl -A "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:87.0) Gecko/20100101 Firefox/87.0" \
-F 'pageName=com/sed/jsp/reports/ItdReportInput.jsp' \
-F 'menukey=15.03.00' \
-F 'locale=en_CA' \
-F 'jspSynchronizerToken=BzDQe5n2dIhV4LHKyqV_u341627003039920' \
-F 'PUBLIC_USERS=0' \
-F 'FORMAT=TXT' \
-F 'SORTED_BY=0' \
-F 'SELECT_TYPE=8' \
-F 'SELECT_TYPE_VALUE=Test' \
-F 'SELECT_TYPE_VALUE_SEARCH_TYPE=0' \
-F 'DATE_RANGE_TYPE=0' \
-F 'MONTH_FROM_PUBLIC=0' \
-F 'DAY_FROM_PUBLIC=1' \
-F 'YEAR_FROM_PUBLIC=2020' \
-F 'MONTH_TO_PUBLIC=11' \
-F 'DAY_TO_PUBLIC=31' \
-F 'YEAR_TO_PUBLIC=2020' \
-F 'Search=Search' \
https://www.sed.com/sed/SVTItdController?locale=en_CA \
> ~/Downloads/sed.html
我意識到這個問題有點特定於我展示的網站,但在我看來,對網站如何處理 HTTP 請求以及如何有效地模仿可以通過正確答案獲得的那些請求有一個通用的理解。 我過去有過類似的其他經歷,我希望能夠一勞永逸地正確理解這一點:)
結果證明該解決方案是字符串中的錯誤以及從 Web 開發工具復制/粘貼 URL 編碼的組合。 特別是,我的帶有空格的字符串應該保留空格而不是使用加號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.