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

 更新时间:2013年12月11日 17:12:55   作者:  
最简单的方法就是通过得到的cookie定制一个httpclient,感兴趣的朋友可以了解下本文
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。

相关文章

  • 超详细小程序定位地图模块全系列开发教学

    超详细小程序定位地图模块全系列开发教学

    这篇文章主要介绍了超详细小程序定位地图模块全系列开发教学,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • TypeScript快速上手语法及结合vue3用法详解

    TypeScript快速上手语法及结合vue3用法详解

    TypeScript是一种由微软开发的自由开源的编程语言,主要提供了类型系统和对ES6的支持,下面这篇文章主要给大家介绍了关于TypeScript快速上手语法及结合vue3用法的相关资料,需要的朋友可以参考下
    2024-02-02
  • JS命令模式例子之菜单程序

    JS命令模式例子之菜单程序

    这篇文章主要为大家详细介绍了JS命令模式例子之菜单程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • js获得鼠标的坐标值的方法

    js获得鼠标的坐标值的方法

    js获得鼠标的坐标值的方法,需要的朋友可以参考一下
    2013-03-03
  • js正则表达式验证邮件地址

    js正则表达式验证邮件地址

    这篇文章主要介绍了js正则表达式验证邮件地址,利用javaScript语言实现一下电子邮件地址验证程序,使用的是JavaScript语言的正则表达式库,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • 基于JavaScript实现贪吃蛇游戏

    基于JavaScript实现贪吃蛇游戏

    这篇文章主要为大家详细介绍了基于JavaScript实现贪吃蛇游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • js+audio实现音乐播放器

    js+audio实现音乐播放器

    这篇文章主要为大家详细介绍了js+audio实现音乐播放器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • javascript模拟实现ajax加载框实例

    javascript模拟实现ajax加载框实例

    这篇文章主要介绍了javascript模拟实现ajax加载框的方法,实例简述了其实现过程,方法简单实用,需要的朋友可以参考下
    2014-10-10
  • Typescript中extends关键字的基本使用

    Typescript中extends关键字的基本使用

    extends表示具体的泛型类型只能是object类型,某个变量如果能断言成object类型[变量as object],那么这个变量的类型符合T extends object,下面这篇文章主要给大家介绍了关于Typescript中extends关键字基本使用的相关资料,需要的朋友可以参考下
    2022-08-08
  • 原生js实现二级联动菜单

    原生js实现二级联动菜单

    这篇文章主要为大家详细介绍了原生js实现二级联动菜单,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11

最新评论