3 回答

TA貢獻1816條經(jīng)驗 獲得超6個贊
HTTP 重定向(即回復狀態(tài)碼 301、302、307,308 和Location
標頭)只能將現(xiàn)有請求重定向到另一個位置,而不會更改請求的有效負載。不過,它可以在響應標頭中添加一些 cookie。
為了自動將 GET 請求更改為具有特定有效負載的 POST 請求,您可以嘗試向客戶端發(fā)送一個帶有<form method=POST...
隱藏輸入字段的 HTML 頁面和有效負載,即<input name=... value=... type=hidden>
然后將一些 JavaScript 添加到自動提交表單的頁面. 但是這種黑客攻擊只能在瀏覽器中運行,并且只有在啟用了 JavaScript 的情況下才能運行,并且也不適用于所有類型的有效負載。
為了與更廣泛的客戶端保持兼容性,最好以不同的方式設計它,即在重定向中保留 GET 請求,但將必要的有效負載作為參數(shù)提供給新目標,即http://new.target/foo?payload=....
. 但細節(jié)取決于請求的目標可以處理什么。

TA貢獻1785條經(jīng)驗 獲得超8個贊
我從未聽說過將動詞從 GET 更改為 POST。我想這是不可能的,因為 POST 假定 body of body(但可能是空的)而 GET 則不然。所以在一般情況下,瀏覽器將無法從無到有地獲取正文。否則是可能的:您可以在 post 后發(fā)送 302 重定向以使瀏覽器執(zhí)行 get。動詞也可以與 307 回復代碼一起保留。
嘗試重新考慮瀏覽器與服務器的交互。也許您可以將 POST 重定向到另一個位置來解決任務?
- 3 回答
- 0 關(guān)注
- 255 瀏覽
添加回答
舉報