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 相关文章推荐
extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
Nov 27 Javascript
用JS将搜索的关键字高亮显示实现代码
Nov 08 Javascript
jQuery实现隔行背景色变色
Nov 24 Javascript
javascript获取文档坐标和视口坐标
May 26 Javascript
JS实现的Select三级下拉菜单代码
Aug 20 Javascript
微信小程序 表单Form实例详解(附源码)
Dec 22 Javascript
JSON字符串和JSON对象相互转化实例详解
Jan 05 Javascript
微信小程序 九宫格实例代码
Jan 21 Javascript
Vue filter介绍及详细使用
Apr 04 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
Oct 31 Javascript
Vue中nprogress页面加载进度条的方法实现
Nov 13 Javascript
Vue实现简单计算器
Jan 20 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 simple_html_dom.php+正则 采集文章代码
2009/12/24 PHP
深入密码加salt原理的分析
2013/06/06 PHP
用 Composer构建自己的 PHP 框架之构建路由
2014/10/30 PHP
php分割合并两个字符串的函数实例
2015/06/19 PHP
PHP实现的蚂蚁爬杆路径算法代码
2015/12/03 PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
2020/11/23 PHP
再谈ie和firefox下的document.all属性
2009/10/21 Javascript
ExtJs3.0中Store添加 baseParams 的Bug
2010/03/10 Javascript
javascript:void(0)使用探讨
2013/08/27 Javascript
JavaScript支持的最大递归调用次数分析
2014/06/24 Javascript
JavaScript 学习笔记之变量及其作用域
2015/01/14 Javascript
JS实现页面超时后自动跳转到登陆页面
2015/01/19 Javascript
javascript数据类型示例分享
2015/01/19 Javascript
基于JavaScript实现 网页切出 网站title变化代码
2016/04/03 Javascript
利用fecha进行JS日期处理
2016/11/21 Javascript
jQuery实现圣诞节礼物传送(花式轮播)
2016/12/25 Javascript
原生js开发的日历插件
2017/02/04 Javascript
微信小程序 生命周期函数详解
2017/05/24 Javascript
vue多页面开发和打包正确处理方法
2018/04/20 Javascript
微信小程序实现时间预约功能
2018/11/27 Javascript
小程序瀑布流组件实现翻页与图片懒加载
2020/05/19 Javascript
python 文件和路径操作函数小结
2009/11/23 Python
Python实现多线程HTTP下载器示例
2017/02/11 Python
python的numpy模块安装不成功简单解决方法总结
2017/12/23 Python
Django实战之用户认证(初始配置)
2018/07/16 Python
Python global全局变量函数详解
2018/09/18 Python
python reverse反转部分数组的实例
2018/12/13 Python
Python中的元组介绍
2019/01/28 Python
Ubuntu+python将nii图像保存成png格式
2019/07/18 Python
Python中内建模块collections如何使用
2020/05/27 Python
Fossil美国官网:Fossil手表、手袋、珠宝及配件
2017/02/01 全球购物
2014年保安个人工作总结
2014/11/13 职场文书
2014年班组长工作总结
2014/11/20 职场文书
如何写辞职信
2015/05/13 职场文书
不同意离婚上诉状
2015/05/23 职场文书
js之ajax文件上传
2021/05/13 Javascript