2012-05-04 67 views
0

我在重定向請求時遇到問題。我有一個傳入GETPOSThttp://foo.com/bar?A=b。我將它重定向到HTTP 307到http://hockily.com/dockily?C=d&E=f如何刪除臨時重定向(HTTP 307)上的帖子參數?

但是在hockily.com上,我有A,C和E. A是GET參數,C和E是POST參數。我需要刪除A.我不應該發送它。我怎樣才能做到這一點?

我使用Java的Response

return Response.temporaryRedirect(
    URI.create((String) s.get("redirectString")) 
).build(); 

請隨時爲我想不出來提供額外的信息發表評論回報。

+0

聽起來像你想用303而不是307 – DaveRandom

+0

是嗎?我嘗試過301 10 seoconds前。現在工作。否則請參閱303 – kommradHomer

+0

307表示客戶端應將請求(包括POST數據)重複發送到新的「位置:」。 303表示新請求應該是GET請求,並且POST數據將被丟棄。 301是永久重定向,我懷疑它是你想要的。 302很可能會產生預期的效果,但是,我所看到的是,「正確的」做你想做的事的方式就是303 – DaveRandom

回答

0

用於在POST請求後將客戶端重定向到GET的正確HTTP狀態代碼是303,您應該使用seeOther()方法。

+0

'Response.Status.SEE_OTHER' – kommradHomer

+0

適合我。 Java不是我經常出沒的地方,我只是在仔細閱讀[http]標籤:-) – DaveRandom

+0

試圖幫助人們提供我可以給予的所有細節:)浪費了我的臨時重定向時間 – kommradHomer