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怎么绕过登录

客户端怎么使用httpclient向https服务器发送数据

如何从 HttpClient 获取 cookie?

Java通过httpclient获取cookie模拟登录

无法使用 C# HttpClient 获取任何 cookie

WP8,怎么使用HttpClient?