php使用CURL不依赖COOKIEJAR获取COOKIE的方法


Posted in PHP onJune 17, 2015

本文实例讲述了php使用CURL不依赖COOKIEJAR获取COOKIE的方法。分享给大家供大家参考。具体分析如下:

PHP中CURL类是一个非常牛逼的工具类,具体怎么牛逼就不??铝恕?/p>

对于COOKIE,CURL类也有很不错的支持,但不够灵活,并未能通过现成的方法以变量的方法获取到,而以要通过以下方法实现。

// 把COOKIE保存至cookie.txt 
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); 
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');

先把COOKIE保存文件,调用的时候还得读取文件,这样意味着两次的IO操作,效率如何,不用说大家都清楚了。
那么有没有办法可以绕过写读文件呢?不卖关子,直接上代码:

// 初始化CURL 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
// 获取头部信息 
curl_setopt($ch, CURLOPT_HEADER, 1); 
// 返回原生的(Raw)输出 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
// 执行并获取返回结果 
$content = curl_exec($ch); 
// 关闭CURL 
curl_close($ch); 
// 解析HTTP数据流 
list($header, $body) = explode("\r\n\r\n", $content); 
// 解析COOKIE 
preg_match("/set\-cookie:([^\r\n]*)/i", $header, $matches); 
// 后面用CURL提交的时候可以直接使用 
// curl_setopt($ch, CURLOPT_COOKIE, $cookie); 
$cookie = $matches[1];

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
如何正确理解PHP的错误信息
Oct 09 PHP
php桌面中心(三) 修改数据库
Mar 11 PHP
php防注入及开发安全详细解析
Aug 09 PHP
php上传图片到指定位置路径保存到数据库的具体实现
Dec 30 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
Jul 06 PHP
Laravel实现构造函数自动依赖注入的方法
Mar 16 PHP
Laravel 5.3 学习笔记之 错误&日志
Aug 28 PHP
Laravel访问出错提示:`Warning: require(/vendor/autoload.php): failed to open stream: No such file or di解决方法
Apr 02 PHP
php实现的数组转xml案例分析
Sep 28 PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
Oct 11 PHP
基于PHP实现邮箱验证激活过程详解
Oct 28 PHP
php操作redis命令及代码实例大全
Nov 19 PHP
PHP封装的HttpClient类用法实例
Jun 17 #PHP
PHP处理postfix邮件内容的方法
Jun 16 #PHP
PHP限制HTML内容中图片必须是本站的方法
Jun 16 #PHP
php采集中国代理服务器网的方法
Jun 16 #PHP
分享php分页的功能模块
Jun 16 #PHP
PHP生成plist数据的方法
Jun 16 #PHP
php动态绑定变量的用法
Jun 16 #PHP
You might like
PHP多线程抓取网页实现代码
2010/07/22 PHP
用PHP提取中英文词语以及数字的首字母的方法介绍
2013/04/23 PHP
IE php关于强制下载文件的代码
2008/08/23 Javascript
jQuery实现页面滚动时层智能浮动定位实例探讨
2013/03/29 Javascript
DIV始终居中的js代码
2014/02/17 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
JavaScript中 ES6 generator数据类型详解
2016/08/11 Javascript
Vue-resource拦截器判断token失效跳转的实例
2017/10/27 Javascript
JS实现的获取银行卡号归属地及银行卡类型操作示例
2019/01/08 Javascript
js前端面试之同步与异步问题详解
2019/04/03 Javascript
详解微信小程序缓存--缓存时效性
2019/05/02 Javascript
Vue之beforeEach非登录不能访问的实现(代码亲测)
2019/07/18 Javascript
js获取图片的base64编码并压缩
2020/12/05 Javascript
JavaScript实现点击切换验证码及校验
2021/01/10 Javascript
[04:23]DOTA2上海特锦赛小组赛第一日 TOP10精彩集锦
2016/02/27 DOTA
[01:02:20]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Django基础知识与基本应用入门教程
2018/07/20 Python
Django安装配置mysql的方法步骤
2018/10/15 Python
详解Python requests 超时和重试的方法
2018/12/18 Python
Python 获取div标签中的文字实例
2018/12/20 Python
python过滤中英文标点符号的实例代码
2019/07/15 Python
简单了解django缓存方式及配置
2019/07/19 Python
python如何遍历指定路径下所有文件(按按照时间区间检索)
2020/09/14 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
怎样声明一个匿名的内部类
2016/06/01 面试题
庆祝教师节活动方案
2014/01/31 职场文书
护士在校生自荐信
2014/02/01 职场文书
2014镇党委书记党建工作汇报材料
2014/11/02 职场文书
民事辩护词范文
2015/05/21 职场文书
国庆放假通知怎么写
2015/07/30 职场文书
大学生军训感言
2015/08/01 职场文书
python单元测试之pytest的使用
2021/06/07 Python
Java elasticsearch安装以及部署教程
2021/06/28 Java/Android
解决SpringBoot文件上传临时目录找不到的问题
2021/07/01 Java/Android