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


Posted in Javascript onDecember 11, 2013

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

ps:如果是用java SE,也可以使用htmlunit类,它会执行js。
Javascript 相关文章推荐
解决 FireFox 下[使用event很麻烦] 的问题.
Aug 22 Javascript
JavaScript 特殊字符
Apr 05 Javascript
javascript 读取图片文件的大小
Jun 25 Javascript
javascript限制用户只能输汉字中文的方法
Nov 20 Javascript
扒一扒JavaScript 预解释
Jan 28 Javascript
详解AngularJS中的filter过滤器用法
Jan 04 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
Jun 21 Javascript
vuejs2.0子组件改变父组件的数据实例
May 10 Javascript
微信头像地址失效踩坑记附带解决方案
Sep 23 Javascript
JavaScript获取页面元素的常用方法详解
Sep 28 Javascript
Vue中使用JsonView来展示Json树的实例代码
Nov 16 Javascript
Vue看了就会的8个小技巧
Jan 21 Vue.js
js判断客户端是iOS还是Android等移动终端的方法
Dec 11 #Javascript
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
Dec 11 #Javascript
按下Enter焦点移至下一个控件的实现js代码
Dec 11 #Javascript
JS中window.open全屏命令解析及使用示例
Dec 11 #Javascript
js的匿名函数使用介绍
Dec 11 #Javascript
jquery ajax jsonp跨域调用实例代码
Dec 11 #Javascript
JavaScript Math.ceil() 函数使用介绍
Dec 11 #Javascript
You might like
CakePHP框架Session设置方法分析
2017/02/23 PHP
PHP命令空间namespace及use的用法小结
2017/11/27 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
2018/04/12 PHP
不错的新闻标题颜色效果
2006/12/10 Javascript
两种简单实现菜单高亮显示的JS类代码
2010/06/27 Javascript
JS截取字符串常用方法整理及使用示例
2013/10/18 Javascript
js阻止事件追加的具体实现
2014/10/15 Javascript
使用Raygun对Node.js应用进行错误处理的方法
2015/06/23 Javascript
js强制把网址设为默认首页
2015/09/29 Javascript
AngularJS 使用$sce控制代码安全检查
2016/01/05 Javascript
sso跨域写cookie的一段js脚本(推荐)
2016/05/25 Javascript
js中 计算两个日期间的工作日的简单实例
2016/08/08 Javascript
功能强大的jquery.validate表单验证插件
2016/11/07 Javascript
基于jQuery的select下拉框选择触发事件实例分析
2016/11/18 Javascript
JavaScript之Canvas_动力节点Java学院整理
2017/07/04 Javascript
vue.js数据绑定操作详解
2018/04/23 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
2019/09/25 Javascript
JavaScript之Blob对象类型的具体使用方法
2019/11/29 Javascript
使用相同的Apache实例来运行Django和Media文件
2015/07/22 Python
Python3 replace()函数使用方法
2018/03/19 Python
pandas 实现字典转换成DataFrame的方法
2018/07/04 Python
Python绘制的二项分布概率图示例
2018/08/22 Python
朴素贝叶斯Python实例及解析
2018/11/19 Python
python贪吃蛇游戏代码
2020/04/18 Python
Python中format()格式输出全解
2019/04/12 Python
python pandas时序处理相关功能详解
2019/07/03 Python
Python 画出来六维图
2019/07/26 Python
浅析PyTorch中nn.Linear的使用
2019/08/18 Python
python 实现从高分辨图像上抠取图像块
2020/01/02 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
2020/01/19 Python
Python之Django自动实现html代码(下拉框,数据选择)
2020/03/13 Python
Python语法垃圾回收机制原理解析
2020/03/25 Python
美国学校校服,儿童和婴儿服装:Cookie’s Kids
2016/10/14 全球购物
伦敦剧院门票:London Theatre Direct
2018/11/21 全球购物
英国索普公园票务和酒店套餐:Thorpe Breaks
2019/09/14 全球购物
交通安全教育主题班会
2015/08/12 职场文书