HttpClient怎么获取cookie
Posted my-ordinary
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HttpClient怎么获取cookie相关的知识,希望对你有一定的参考价值。
// 旧版 HttpClient httpClient = new DefaultHttpClient(); // execute get/post/put or whatever httpClient.doGetPostPutOrWhatever(); // get cookieStore CookieStore cookieStore = httpClient.getCookieStore(); // get Cookies List<Cookie> cookies = cookieStore.getCookies(); // process...
// 新版 /* init client */ HttpClient http = null; CookieStore httpCookieStore = new BasicCookieStore(); http = HttpClientBuilder.create().setDefaultCookieStore(httpCookieStore).build(); /* do stuff */ HttpGet httpRequest = new HttpGet("http://stackoverflow.com/"); HttpResponse httpResponse = null; try {httpResponse = http.execute(httpRequest);} catch (Throwable error) {throw new RuntimeException(error);} /* check cookies */ httpCookieStore.getCookies();
// 我的 @Test public void testGetCookies1() throws IOException { String result; // 获取文件 拼接 String uri = bundle.getString("getCookies.uri"); String getTestUrl = this.url + uri; try { BasicCookieStore cookieStore = new BasicCookieStore(); // 获取 响应 HttpGet get = new HttpGet(getTestUrl); CloseableHttpClient httpClient = HttpClients.custom().setDefaultCookieStore(cookieStore).build(); // CloseableHttpClient build = HttpClientBuilder.create().build(); // CloseableHttpResponse execute = build.execute(get); CloseableHttpResponse execute = httpClient.execute(get); result = EntityUtils.toString(execute.getEntity(), "utf-8"); System.out.println(result); // 获取cookies信息 List<Cookie> cookies = cookieStore.getCookies(); for (Cookie cookie : cookies) { String name = cookie.getName(); String value = cookie.getValue(); System.out.println("cookies: key= "+ name + " value= " + value); } } catch (IOException e) { e.printStackTrace(); } catch (ParseException e) { e.printStackTrace(); } }
https://stackoverflow.com/questions/8733758/how-can-i-get-the-cookies-from-httpclient
以上是关于HttpClient怎么获取cookie的主要内容,如果未能解决你的问题,请参考以下文章
客户端怎么使用httpclient向https服务器发送数据