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 相关文章推荐
jQuery获取样式中的背景颜色属性值/颜色值
Dec 17 Javascript
JS验证日期的格式YYYY-mm-dd 具体实现
Jun 29 Javascript
jQuery实现简单网页遮罩层/弹出层效果兼容IE6、IE7
Jun 16 Javascript
JQuery ztree 异步加载实例讲解
Feb 25 Javascript
微信小程序图片自适应支持多图实例详解
Jun 21 Javascript
基于滚动条位置判断的简单实例
Dec 14 Javascript
关于vue面试题汇总
Mar 20 Javascript
vue 组件的封装之基于axios的ajax请求方法
Aug 11 Javascript
js滚轮事件 js自定义滚动条的实现
Jan 18 Javascript
vue中移动端调取本地的复制的文本方式
Jul 18 Javascript
如何用threejs实现实时多边形折射
May 07 Javascript
vue使用wavesurfer.js解决音频可视化播放问题
Apr 04 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
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
2014/05/08 PHP
PHP用反撇号执行外部命令
2015/04/14 PHP
Yii2 rbac权限控制之菜单menu实例教程
2016/04/28 PHP
Yii2 queue的队列使用详解
2019/07/19 PHP
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
2021/03/09 HTML / CSS
Google Map API更新实现用户自定义标注坐标
2009/07/29 Javascript
jquery 获取标签名(tagName)示例代码
2013/07/11 Javascript
Jquery中val()表单取值赋值的实例代码
2013/08/15 Javascript
jQuery ajax dataType值为text json探索分享
2013/09/23 Javascript
js拖拽一些常见的思路方法整理
2014/03/19 Javascript
node.js中的fs.lchmodSync方法使用说明
2014/12/16 Javascript
Bootstrap基础学习
2015/06/16 Javascript
简单实现兼容各大浏览器的js复制内容到剪切板
2015/09/09 Javascript
Javascript闭包与函数柯里化浅析
2016/06/22 Javascript
结合mint-ui移动端下拉加载实践方法总结
2017/11/08 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
2017/11/18 Javascript
小程序实现选择题选择效果
2018/11/04 Javascript
详解vue移动端项目代码拆分记录
2019/03/15 Javascript
javascript利用canvas实现鼠标拖拽功能
2020/07/23 Javascript
[28:57]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/16 DOTA
python正常时间和unix时间戳相互转换的方法
2015/04/23 Python
python中hashlib模块用法示例
2017/10/30 Python
python 重定向获取真实url的方法
2018/05/11 Python
使用python实现抓取腾讯视频所有电影的爬虫
2019/04/15 Python
OpenCV 轮廓检测的实现方法
2019/07/03 Python
python实现的爬取电影下载链接功能示例
2019/08/26 Python
国际象棋商店:The Chess Store
2018/07/09 全球购物
英国邮购活的植物主要供应商:Gardening Direct
2019/01/28 全球购物
French Connection官网:女装、男装及家居用品
2019/03/18 全球购物
实现strstr功能,即在父串中寻找子串首次出现的位置
2016/08/05 面试题
Linux面试题LINUX系统类
2015/11/25 面试题
工商管理毕业生推荐信
2013/12/24 职场文书
毕业生的自我评价
2013/12/30 职场文书
党的群众路线教育实践活动制度建设计划方案
2014/10/31 职场文书
2015年学校禁毒工作总结
2015/05/27 职场文书
dubbo集成zipkin获取Traceid的实现
2021/07/26 Java/Android