php httpclient 获取cookie

原创 2015年11月18日 17:59:49
今天第一天学习用php,是想在php中实现远程登录一个aspx的页面,就是将php中登录的用户名密码传过去,直接让aspx的界面登录。aspx的界面也是我自己写的,所以逻辑好控制。我是一个java程序员,C#和php对于我来说都是半路出家,对付着写吧。


因为java里是由httpclient 现成的jar包的,所以百度php httpclient,果然找到一个。

下载的官方地址为:http://scripts.incutio.com/httpclient/index.php

下载压缩包,解压后得到一个文件HttpClient.class.php。引入到工程中,写个测试页进行调用。官方的例子里好多都是get的,咱要用post的方式获取cookie,其实服务端是自己写的,get的也行,但是原本计划用post,就用post吧。


读了一下HttpClient.class.php这个文件,虽然php的语法基本上一窍不通,但是猜测着来吧。


<span style="font-size:14px;">require_once ('HttpClient.class.php');
$params = array('name'=>'xxx','password'=>'123');
$client = new HttpClient('172.18.8.23','8888'); 
$client->setDebug(true);//打开debug模式
$path="/autologin.aspx";
if($client->post($path, $params)){  
  print_r($client->getHeaders());
  echo "<----------1----------->";
  print_r($client->getCookies());
   echo "<--------2------------>";
  print_r($client->getStatus());
   echo "<---------3----------->";
  print_r($client->getContent());
  echo "<---------4----------->";
}
else
	echo 'false';</span>


执行上面的页面后,其他的都可以返回,,而且打印出的header中命名看到有cookie设置的,只是cookie的数组总是空,为何?

再看了看HttpClient.class.php 的代码,发现有如下语句



这个cookie_host,在整个文件中就没地设置一个空串,所以数组取不值吧。删除这个条件,在执行,可以成功得到cookie了。

再通过setcookie将获取到的cookie设置进去,在访问页面就已经是自动登录了。setcookie的时候别忘了设置domain和path。



HttpClient php类库

HttpClient php类库 GET行为比较简单,POST比较复杂一些。这里提供两种方法供选择: 第一:手写代码 第二:利用HttpClient php类库 第一种方法:代...
  • calllmq
  • calllmq
  • 2012年10月09日 16:28
  • 13247

HTTP请求类 - HttpClient.class.php

HTTPClient 写一个Http类,能更好的了解HTTP 在这里用 socket 模拟 get, post 请求,并得到结果,其中也加了 head 请求,用 php 自带的函数 get_heade...
  • chuangrain
  • chuangrain
  • 2013年08月06日 12:12
  • 10376

HttpClient.php

  • 2014年04月22日 17:30
  • 4KB
  • 下载

PHP HttpClient封装

php封装的HttpClient,能实现些简单的功能。原来做过,这两天重新修改了一下。                                     /*          ...
  • TiaoZhanJi_Xian
  • TiaoZhanJi_Xian
  • 2015年03月21日 14:54
  • 989

PHP中header头设置Cookie与内置setCookie的区别

首先声明,浏览的Cookie操作都是通过HTTP Header(俗称“Http头”) 来实现。所有的服务器与客户端之间Cookie数据传输都是通过Http请求头来操作。 PHP中setC...
  • qq_25600055
  • qq_25600055
  • 2016年03月15日 13:37
  • 6098

php设置cookie与取cookie的值

setcookie('username','zhaoyun', time()+60); 这个cookie,一分钟内有效,后面那个time()+60,是从现在开始,往后查六十秒的意思。如果希望它有效时...
  • yunraodongpo
  • yunraodongpo
  • 2015年08月14日 12:09
  • 10345

php 创建 Cookie 和取回 Cookie 的值

创建 Cookie 和取回 Cookie 的值 1、Cookie是临时文件的意思,保存你浏览网页的痕迹,让我们再次上同一页面的时候提高网速。还有判断你是否登录过这个网站,登陆过同一网站的话,再次登录的...
  • qq_32562501
  • qq_32562501
  • 2017年02月20日 13:42
  • 1571

php 从Header中获取cookie

/*-----保存COOKIE-----*/ $url = 'www.xxx.com'; //url地址 $post = "id=user&pwd=123456"; //POST数据 $ch = cu...
  • daiyutage
  • daiyutage
  • 2015年03月05日 22:19
  • 6396

httpClient 4.X与PHP服务器通信详解

前言:近期搞android开发,初接触JAVA,对其了解还不够深入,但遇到通信问题时,因为我以为搞过PHP,对PHP还是比较了解的,所以决定用PHP来写后台,但网络上有关客户端与PHP服务器的例子真是...
  • harvic880925
  • harvic880925
  • 2013年12月19日 16:10
  • 4874

轻松把玩HttpClient之模拟post请求示例

HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建...
  • xiaoxian8023
  • xiaoxian8023
  • 2015年11月16日 13:23
  • 48140
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php httpclient 获取cookie
举报原因:
原因补充:

(最多只允许输入30个字)