zoukankan      html  css  js  c++  java
  • 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

    作者:以罗伊
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    TreeList Linq
    MasterDetail Linq
    C# 事务处理
    设计模式——代理模式(Proxy Pattern)
    设计模式——装饰模式(Decorator Pattern)
    C# 调用WCF服务
    加密解密
    Effective C#高效编程(02:常量)
    切换城市功能
    DataPager控件使用
  • 原文地址:https://www.cnblogs.com/my-ordinary/p/11963671.html
Copyright © 2011-2022 走看看