不知道這是最好的方式,但什麼幫助我實現這一目標是CloseableHttpClient類沿BasicCookieStore保留cookie進行後續請求一旦登錄,實施如下:
BasicCookieStore cookieStore = new BasicCookieStore();
CloseableHttpClient httpclient = HttpClients.custom().setDefaultCookieStore(cookieStore).build();
HttpUriRequest login = RequestBuilder.post()
.setUri(new URI(url_login))
.addParameter("login", "loginuname")
.addParameter("password", "pwd")
.addParameter("submit", "sub_mit");
CloseableHttpResponse response = httpclient.execute(login);
List<Cookie> cookies = cookieStore.getCookies();
response.close();
HttpGet httpget2 = new HttpGet(url_to_get_after_login);
CloseableHttpResponse response2 = httpclient.execute(httpget2);
response2.close();
傳遞一個[CookieManager](http://docs.oracle.com/jav ase/8/docs/api/java/net/CookieManager.html)複製到[CookieHandler.setDefault](http://docs.oracle.com/javase/8/docs/api/java/net/CookieHandler.html#setDefault -java.net.CookieHandler-)。 – VGR