httpclient模拟登陆具体实现

 最简单的方法就是通过得到的cookie定制一个httpclient,感兴趣的朋友可以了解下本文

httpclient模拟登陆(使用js设置cookie) 
代码如下:
<html> 
<meta http-equiv='Content-Type' content='text/html; charset=gb2312'> 
<link rel=stylesheet type=text/css href='/bbs.css'> 
<script>document.cookie='utmpnum=51;path=/;domain=.' + window.location.host</script> 
<script>document.cookie='utmpkey=20154732;path=/;domain=.' + window.location.host</script> 
<script>document.cookie='utmpuserid=yay;path=/;domain=.' + window.location.host</script> 
<meta http-equiv='Refresh' content='0; url=/firstpage.php'> 
 
h4ttpclient 4.3: 
 
最简单的方法就是通过得到的cookie定制一个httpclient,根据上面的例子,方法如下: 
 代码如下:
CookieStore cookieStore = new BasicCookieStore(); 
 
for (int i = 0; i < 3; i++) { 
String name; 
String value; 
int flag=s.indexOf("document.cookie"); 
s=s.substring(flag+17); 
flag=s.indexOf('='); 
name=s.substring(0, flag); 
value=s.substring(flag+1, s.indexOf(';')); 
BasicClientCookie cookie = new BasicClientCookie(name, 
value); 
cookie.setVersion(0); 
cookie.setDomain(".www.zju88.org"); //这个网址对应的是<span style="font-family: Arial, Helvetica, sans-serif;">window.location.host的返回值</span> 
cookie.setPath("/"); 
cookieStore.addCookie(cookie); 

// Set the store 
CloseableHttpClient httpclient = HttpClients.custom() 
.setDefaultCookieStore(cookieStore) 
.build(); 
 
android: 
 
我找了半天也没找到上面方法对应的API,只能在每次访问前加cookie了 
代码如下:
String cookie=""; 
for (int i = 0; i < 3; i++) { 
String name; 
String value; 
int flag=s.indexOf("document.cookie"); 
s=s.substring(flag+17); 
flag=s.indexOf('='); 
name=s.substring(0, flag); 
value=s.substring(flag+1, s.indexOf(';')); 
cookie +=name +"="+value; 
if(i!=2) 
cookie+=";"; 

 
/* 
* 每次访问网络 
*/ 
HttpGet httpget = new HttpGet(url); 
httpget.addHeader("Cookie",cookie); 
//如果httpclient中已经有cookie可能需要设置httpclient的cookie策略,具体可查官方API (: 
HttpResponse response = httpclient.execute(httpget); 
 
 

时间: 2024-09-24 00:43:37

httpclient模拟登陆具体实现的相关文章

httpclient-java 利用 httpClient 模拟登陆网站时,网站重定向,我该怎么进入后继的网页啊!

问题描述 java 利用 httpClient 模拟登陆网站时,网站重定向,我该怎么进入后继的网页啊! 我用的是httpclient4.3.6 .我模拟登陆我们学校的网站,获取了cookies,但是我用httpwatch看 有重定向的问题,我不知道怎么进入后面的网页!求解!我贴上代码,求代码详解,谢谢!!!小弟初学java 现需要做这个操作,很是艰难呀!感激不尽! 解决方案 public class Test { public static void main(String[] args) th

java-用JAVA HttpClient模拟登陆网站时登陆成功后网站重定向,请问一下 怎么解决???谢谢拉

问题描述 用JAVA HttpClient模拟登陆网站时登陆成功后网站重定向,请问一下 怎么解决???谢谢拉 我觉得最有问题的地方就是我没有触发这个js事件 js的部分代码如下 通过这个JS代码我猜测YAHOO.util.Connect.asyncRequest('xxx','XXX', callback, null) 和我直接通过get和post请求服务器 服务器处理的话会有些许不同 . 并且我通过post请求登陆后 服务器返回了我 这代表登陆成功了 可是 当请求成功后 转向网站的个人主页的时

有人做过java httpclient 模拟登陆outlook 获取邮件的吗

问题描述 有人做过java httpclient 模拟登陆outlook 获取邮件的吗 有人做过java httpclient 模拟登陆outlook 获取邮件的吗 解决方案 其实现在很多可以做模拟登录的httpClient,JSOUP,htmlUnit,我做过用Jsoup做模拟登录,要做两次模拟,第一次是获得Cookie,第二次带入cookie就行了,大致思想就是这样. 解决方案二: 这种程序没有意义,因为网页是不断变化的,你应该用mapi从本地outlook获取,或者用pop协议从邮箱服务器

求助,哪位大神能帮忙写个模拟登陆csdn的程序,我拿来做例子,研究httpclient模拟登陆,谢谢

问题描述 求助,哪位大神能帮忙写个模拟登陆csdn的程序,我拿来做例子,研究httpclient模拟登陆,谢谢 求助哪位大神能帮忙写个模拟登陆csdn的程序,我拿来做例子,研究httpclient模拟登陆,谢谢 解决方案 http://blog.csdn.net/njchenyi/article/details/38801287 解决方案二: 报错了....能直接发我个么..= =初学者,并不太懂,谢谢

100分求助HttpClient模拟登陆校内商业大亨问题...

问题描述 我用HttpClient模拟登陆校内..校内的所有页面的登录地址是http://login.xiaonei.com/Login.do,等访问一些页面和网页游戏的时间发现没登陆会拦截掉,转到该网页,同时附带一个origURL作为登陆成功后转发用..我登陆成功后,访问个人主页以及<七龙纪>等页面可以正常返回html代码,唯独访问商业大亨<测试origURL是http://x4.ceo.xiaonei.com/>的时候获得不了html代码,返回是<metahttp-equ

httpclient模拟登陆具体实现(使用js设置cookie)_javascript技巧

httpclient模拟登陆(使用js设置cookie) 复制代码 代码如下: <html> <meta http-equiv='Content-Type' content='text/html; charset=gb2312'> <link rel=stylesheet type=text/css href='/bbs.css'> <script>document.cookie='utmpnum=51;path=/;domain=.' + window.l

浏览器-安卓HttpClient+Jsoup+Httpwatch模拟登陆网站

问题描述 安卓HttpClient+Jsoup+Httpwatch模拟登陆网站 打算让用户在android客户端输入登陆名及密码,然后客户端像浏览器那样,实现用户的登陆.目标登陆网站不提供额外的接口. 实现过程中发现提交的表单的有些参数在网页中是自动生成的,造成登入不进去网站,求高手赐教 解决方案 那就要模拟网页是怎么生成的啊,一般来说应该是 用ecode编码了下吧, 解决方案二: 安卓HttpClient+Jsoup+Httpwatch模拟登陆正方教务获取信息httpclient 模拟登陆HT

模拟登陆问题, input 标签里没有value 如何处理 ,常见的模拟登陆问题我可以解决

问题描述 模拟登陆问题, input 标签里没有value 如何处理 ,常见的模拟登陆问题我可以解决 模拟登陆问题, input 标签里没有value 如何处理 ,常见的模拟登陆问题我可以解决 比如 有的input 标签里没有value属性,我该怎么处理,求大神帮助 解决方案 input标签里没有value,那么登录的时候请求里面是否包含了这个input标签的值?如果有, 那说明页面通过js脚本动态给它赋值了.模拟的时候直接给这个input赋值就可以了. 解决方案二: 用fiddler拦截浏览器

java httpclient-有人用httpclient模拟表单提交登陆QQ邮箱的吗

问题描述 有人用httpclient模拟表单提交登陆QQ邮箱的吗 有没有人做过httpclient模拟表单提交登陆qq邮箱获取邮件的 解决方案 参考列表" rel="nofollow">java登陆qq邮箱获取联系人列表