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控制iframe滚动的代码
Apr 10 Javascript
JavaScript中常见陷阱小结
Apr 27 Javascript
Node.js:Windows7下搭建的Node.js服务(来玩玩服务器端的javascript吧,这可不是前端js插件)
Jun 27 Javascript
js点击button按钮跳转到另一个新页面
Oct 10 Javascript
js实现发送验证码后的倒计时功能
May 28 Javascript
js调出上下文菜单的实例
Dec 17 Javascript
Javascript的动态增加类的实现方法
Oct 20 Javascript
原生javascript实现图片放大镜效果
Jan 18 Javascript
vue+axios+mock.js环境搭建的方法步骤
Aug 28 Javascript
在 Vue-CLI 中引入 simple-mock实现简易的 API Mock 接口数据模拟
Nov 28 Javascript
Vue.js中的高级面试题及答案
Jan 13 Javascript
Vue组件为什么data必须是一个函数
Jun 11 Javascript
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开发文件系统实例讲解
2006/10/09 PHP
php预定义常量
2006/12/25 PHP
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
2014/01/03 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
2016/05/31 PHP
PHP面向对象程序设计类的定义与用法简单示例
2016/12/27 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
javascript获取选中的文本的方法代码
2013/10/30 Javascript
关于javaScript注册click事件传递参数的不成功问题
2014/07/18 Javascript
JQuery实现表格动态增加行并对新行添加事件
2014/07/30 Javascript
jQuery实现列表自动滚动循环滚动展示新闻
2014/08/22 Javascript
Jquery 实现图片轮换
2015/01/28 Javascript
js实现透明度渐变效果的方法
2015/04/10 Javascript
js实现带按钮的上下滚动效果
2015/05/12 Javascript
跟我学习javascript的最新标准ES6
2015/11/20 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
2016/04/01 Javascript
jQuery插件简单学习实例教程
2016/07/01 Javascript
AngularJS基础 ng-keydown 指令简单示例
2016/08/02 Javascript
支持移动端原生js轮播图
2017/02/16 Javascript
jQuery插件HighCharts实现的2D堆条状图效果示例【附demo源码下载】
2017/03/14 Javascript
详解vue-cli中配置sass
2017/06/21 Javascript
bootstrap中日历范围选择插件daterangepicker的使用详解
2018/04/17 Javascript
使用Python脚本将绝对url替换为相对url的教程
2015/04/24 Python
Python实例一个类背后发生了什么
2016/02/09 Python
python数据清洗系列之字符串处理详解
2017/02/12 Python
Python如何爬取实时变化的WebSocket数据的方法
2019/03/09 Python
python实现的批量分析xml标签中各个类别个数功能示例
2019/12/30 Python
如何使用Python抓取网页tag操作
2020/02/14 Python
Python3 webservice接口测试代码详解
2020/06/23 Python
销售主管岗位职责范本
2014/02/14 职场文书
教师一帮一活动总结
2014/07/08 职场文书
2014年护士个人工作总结
2014/11/11 职场文书
2015年上半年物业工作总结
2015/03/30 职场文书
焦裕禄纪念馆观后感
2015/06/09 职场文书
爱国电影观后感
2015/06/19 职场文书
聘任书范文大全
2015/09/21 职场文书
几款流行的HTML5 UI框架比较(小结)
2021/04/08 HTML / CSS