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条)

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题