网站地图    收藏   

主页 > php专栏 > php应用 >

php中curl获取返回页面的cookie - php高级应用

来源:自学PHP网    时间:2014-11-27 22:16 作者: 阅读:

[导读] php的curl可以模仿用户浏览网页并且获取网页的cookie,获取cookie还有专用的参数如CURLOPT_COOKIEJAR 用于保存 cookie 到文件了,下面一起来看几个例子吧.curl可以获取返回页面设置的cookie,原理.....

php中curl获取返回页面的cookie

php的curl可以模仿用户浏览网页并且获取网页的cookie,获取cookie还有专用的参数如CURLOPT_COOKIEJAR 用于保存 cookie 到文件了,下面一起来看几个例子吧.

curl可以获取返回页面设置的cookie,原理跟get_headers是一样的,在返回的头信息中将"Set-Cookie:"的内容取出来即可.

测试页面/设置cookie的页面,test.php代码如下:

  1. <?php 
  2. setcookie('test''sssss'); 
  3. setcookie('xxx''www'); 
  4.  
  5. //获取cookie的脚本 
  6.  
  7. <?php 
  8. $url = 'http://localhost/test.php'
  9. $ch = curl_init($url); //初始化 
  10. curl_setopt($ch,CURLOPT_HEADER,1); //将头文件的信息作为数据流输出 
  11. curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //返回获取的输出文本流 
  12. curl_setopt($ch, CURLOPT_HEADER, 1); 
  13. $string = curl_exec($ch); 
  14. preg_match_all('/Set-Cookie:stest=(.*)/i'$string$results); 
  15. var_dump($results); 
  16. ?> 

获取cooke并保存到文件,代码如下:

  1. $url = "http://www.phpfensi.com/"
  2. $ch = curl_init(); 
  3. curl_setopt($ch, CURLOPT_URL, $url); 
  4. curl_setopt($ch, CURLOPT_HEADER, 0); 
  5. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
  6. curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar); 
  7. $content = curl_exec($ch); 
  8. curl_close($ch); 

curl参数介绍

CURLOPT_COOKIEJAR 用于保存 cookie 到文件

CURLOPT_COOKIEFILE 用于将保存的 cookie 文件发送出去

CURLOPT_COOKIE 用于发送 cookie 变量

所谓 在会话结束后就过期了,是因为浏览器不保存没有过期设定的 cookie 变量,所以关闭浏览器后再次请求时就没有 cookie 发送出去.

curl 处理中,如果是一次做完,只需 CURLOPT_COOKIEJAR 就可以.

若要分段处理则先 CURLOPT_COOKIEJAR,后 CURLOPT_COOKIEFILE,发送 cookie 文件内容的段,不要 CURLOPT_COOKIEJAR,以避免新的 cookie 变量的影响.

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论