2015-09-27 165 views
0

如何在Java中創建幾個HTTP請求來組成一個會話(因此,共享相同的一組cookie)等?如何使用同一個會話創建多個HTTP請求

我想通過POST請求在一個站點上授權,然後使用所有cookie和會話數據向本站點發出GET請求。

是否有可能呢?如果有幾種可能的方式來實現這種行爲,那麼他們最好的是什麼?在我的情況下,同步通話是可以的。

在此先感謝。

+1

會話通常通過cookie進行跟蹤,所以您需要從初始響應中的Set-Cookie標頭中收集Cookie,然後在後續請求中將它們傳遞到Cookie標頭中。 – blm

+0

@blm它是標準庫中的最佳解決方案嗎?我應該手動做還是有像「CookieManager」這樣的內置類,或者像這樣做? – FrozenHeart

+1

對於小型項目,我只需使用標準的CookieManager,HttpCookie和Http [s] UrlConnection類。對於較大的項目,Apache有一些庫可以爲你處理大量的項目,但是標準的Java類非常好。 – blm

回答

0

我會使用一個http客戶端爲你做這個。例如。 Apache的百科全書:

https://hc.apache.org/httpcomponents-client-ga/tutorial/html/statemgmt.html#d5e585

如果你還是想實現它自己,看看CookieHandlerCookieManager。基本上:

CookieHandler.setDefault(new CookieManager()); 

會做的伎倆。

+0

有什麼辦法通過標準庫來做到嗎?其實我不想在這個項目中使用第三方庫僅用於HTTP請求 – FrozenHeart

+0

當然,您可以。但是,相信我,遲早你需要共享,認證,緩存......並且通過使用第三方庫免費獲得所有這些。如果你想自己實現它,我已經編輯了答案。 – Ruben

+0

@Ruben不,你不要*推薦那些已經死了多年的軟件! –

相關問題