java模拟登录的一些问题

        最近在做采集程序,用到模拟登录,用正常的httppost等都会显示登录失败,结果静下心研究了一番,发现没有登录就会有一个request cookie,于是把这个第一次先get请求登录页面获取request cookie,然后再将该request cookie放到request header里面的cookie中,再次将参数带上使用post请求访问登录接口,结果登录成功了,成功的cookie也给返回回来了

     代码大概如下:不是很完整

//创建一个post请求  
            HttpPost post = new HttpPost("http://www.baihu.com/login/email");  
            post.setHeader("Cookie", " cap_id=\"YjA5MjE0YzYyNGQ2NDY5NWJhMmFhN2YyY2EwODIwZjQ=|1437610072|e7cc307c0d2fe2ee84fd3ceb7f83d298156e37e0\"; ");  
   
            //注入post数据  
            post.setEntity(entity);  
            HttpResponse httpResponse = httpClient.execute(post);  
            //打印登录是否成功信息  
            printResponse(httpResponse);  
   
            //构造一个get请求,用来测试登录cookie是否拿到  
            HttpGet g = new HttpGet("http://www.baihu.com/question/following");  
            //得到post请求返回的cookie信息  
            String c = setCookie(httpResponse);  
            //将cookie注入到get请求头当中  
            g.setHeader("Cookie",c);  
            CloseableHttpResponse r = httpClient.execute(g);  
            String content = EntityUtils.toString(r.getEntity());  
            System.out.println(content); 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值