php中curl获取返回页面的cookie
发布:smiling 来源: PHP粉丝网 添加日期:2014-09-22 10:02:26 浏览: 评论:0
php的curl可以模仿用户浏览网页并且获取网页的cookie,获取cookie还有专用的参数如CURLOPT_COOKIEJAR 用于保存 cookie 到文件了,下面一起来看几个例子吧.
curl可以获取返回页面设置的cookie,原理跟get_headers是一样的,在返回的头信息中将"Set-Cookie:"的内容取出来即可.
测试页面/设置cookie的页面,test.php代码如下:
- <?php
- setcookie('test', 'sssss');
- setcookie('xxx', 'www');
- //获取cookie的脚本
- <?php
- $url = 'http://localhost/test.php';
- $ch = curl_init($url); //初始化
- curl_setopt($ch,CURLOPT_HEADER,1); //将头文件的信息作为数据流输出
- curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //返回获取的输出文本流
- curl_setopt($ch, CURLOPT_HEADER, 1);
- $string = curl_exec($ch);
- preg_match_all('/Set-Cookie:stest=(.*)/i', $string, $results);
- var_dump($results);
- ?>
获取cooke并保存到文件,代码如下:
- $url = "http://www.phpfensi.com/";
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_HEADER, 0);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);
- $content = curl_exec($ch);
- 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 变量的影响.
Tags: curl获取页面 页面cookie
- 上一篇:php返回json数据函数例子
- 下一篇:微信公众平台开发关注/取消关注事件例子
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)