oCrackMe 2017-03-30 04:32 采纳率: 100%
浏览 2381
已采纳

HttpClient模拟登陆如何获取cookies

我在java web开发时候 尝试使用HttpClient post模拟登陆,可是无法获取到登陆的cookie
,之前在安卓开发时候Xutil可以直接获取,那么在WEB开发时候如何解决获取cookie的问题

  • 写回答

3条回答 默认 最新

  • kikisang 2017-03-30 06:53
    关注
        CookieStore cookieStore = new BasicCookieStore();
        HttpClientContext localContext = new HttpClientContext();
        CloseableHttpClient httpclient = HttpClients.createDefault();
        HttpPost httppost = new HttpPost("http://xxx.net/loign.jsp");
        localContext.setCookieStore(cookieStore);
        httppost.setHeader("Content-Type", "text/html; charset=utf-8");
        List<NameValuePair> formParams = new ArrayList<NameValuePair>();
        formParams.add(new BasicNameValuePair("username", "username"));
        formParams.add(new BasicNameValuePair("password", "password"));
        try {
            UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formParams, "UTF-8");
            httppost.setEntity(entity);
            // 提交登录数据
            HttpResponse re = httpclient.execute(httppost, localContext);
            // 获取cookie
            List<Cookie> cookies = cookieStore.getCookies();
            for (Cookie cookie : cookies) {
                System.out.println("Local Cookie:" + cookie);
            }
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大