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 相关文章推荐
Javascript 入门基础学习
Mar 10 Javascript
jquery常用技巧及常用方法列表集合
Apr 06 Javascript
js 为label标签和div标签赋值的方法
Aug 08 Javascript
一个简单的JS时间控件示例代码(JS时分秒时间控件)
Nov 22 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
Apr 03 Javascript
Firefox下无法正常显示年份的解决方法
Sep 04 Javascript
javascript计时器编写过程与实现方法
Feb 29 Javascript
js将json格式的对象拼接成复杂的url参数方法
May 25 Javascript
Angularjs 与 bower安装和使用详解
May 11 Javascript
vue移动端模态框(可传参)的实现
Nov 20 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
Jul 31 Javascript
jQuery ajax - getScript() 方法和getJSON方法
May 14 jQuery
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+jQuery 注册模块开发详解
2014/10/14 PHP
分享下php5类中三种数据类型的区别
2015/01/26 PHP
php实现带读写分离功能的MySQL类完整实例
2016/07/28 PHP
php提取微信账单的有效信息
2018/10/01 PHP
PHP微信支付结果通知与回调策略分析
2019/01/10 PHP
自己动手开发jQuery插件教程
2011/08/25 Javascript
JQuery实现表格中相同单元格合并示例代码
2013/06/26 Javascript
ie下$.getJSON出现问题的解决方法
2014/02/12 Javascript
node.js实现多图片上传实例
2014/06/03 Javascript
详解JavaScript数组的操作大全
2015/10/19 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
2015/10/25 Javascript
javascript实现随机生成DIV背景色
2016/06/20 Javascript
Vue.js快速入门教程
2016/09/07 Javascript
基于vue.js快速搭建图书管理平台
2017/10/29 Javascript
three.js中3D视野的缩放实现代码
2017/11/16 Javascript
JS实现的3des+base64加密解密算法完整示例
2018/05/18 Javascript
微信小程序--获取用户地理位置名称(无须用户授权)的方法
2019/04/29 Javascript
vue自动路由-单页面项目(非build时构建)
2019/04/30 Javascript
Vue.js构建你的第一个包并在NPM上发布的方法步骤
2019/05/01 Javascript
JS中封装axios来管控api的2种方式
2019/09/11 Javascript
用vue写一个日历
2020/11/02 Javascript
微信小程序之高德地图多点路线规划过程示例详解
2021/01/18 Javascript
[04:51]TI10典藏宝瓶Ⅱ外观视频展示
2020/08/15 DOTA
Python argv用法详解
2016/01/08 Python
Python中 map()函数的用法详解
2018/07/10 Python
Python中按键来获取指定的值
2019/03/02 Python
Python对HTML转义字符进行反转义的实现方法
2019/04/28 Python
详解Python 4.0 预计推出的新功能
2019/07/26 Python
解决Python使用列表副本的问题
2019/12/19 Python
Python3交互式shell ipython3安装及使用详解
2020/07/11 Python
pycharm中如何自定义设置通过“ctrl+滚轮”进行放大和缩小实现方法
2020/09/16 Python
Python模块常用四种安装方式
2020/10/20 Python
英语自荐信常用语句
2013/12/13 职场文书
置业顾问岗位职责
2015/02/09 职场文书
新郎婚礼致辞
2015/07/27 职场文书
MySQL表字段时间设置默认值
2021/05/13 MySQL