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调用Twitter的RSS的实现代码
Mar 10 PHP
php设计模式 Builder(建造者模式)
Jun 26 PHP
PHP高级对象构建 多个构造函数的使用
Feb 05 PHP
Yii框架调试心得--在页面输出执行sql语句
Dec 25 PHP
WordPress中用于创建以及获取侧边栏的PHP函数讲解
Dec 29 PHP
php简单实现批量上传图片的方法
May 09 PHP
php连接oracle数据库的核心步骤
May 26 PHP
微信支付开发发货通知实例
Jul 12 PHP
PHP设置Cookie的HTTPONLY属性方法
Feb 09 PHP
PHP获取数据库表中的数据插入新的表再原删除数据方法
Oct 12 PHP
Smarty缓存机制实例详解【三种缓存方式】
Jul 20 PHP
PHP单文件上传原理及上传函数的封装操作示例
Sep 02 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设计模式 Bridge (桥接模式)
2011/06/26 PHP
curl和libcurl的区别简介
2015/07/01 PHP
PHP7新特性foreach 修改示例介绍
2016/08/26 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
JQUERY操作JSON实例代码
2010/02/09 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
AngularJS自定义服务与fliter的混合使用
2016/11/24 Javascript
原生js实现移动端触摸轮播的示例代码
2017/12/22 Javascript
vue-cli安装使用流程步骤详解
2018/11/08 Javascript
javaScript实现游戏倒计时功能
2018/11/17 Javascript
vue实现的组件兄弟间通信功能示例
2018/12/04 Javascript
详解angular2 控制视图的封装模式
2018/12/27 Javascript
Vue-drag-resize 拖拽缩放插件的使用(简单示例)
2019/12/04 Javascript
vue实现数字动态翻牌的效果(开箱即用)
2019/12/08 Javascript
支付宝小程序实现省市区三级联动
2020/06/21 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
2021/02/24 Javascript
[14:50]2018DOTA2亚洲邀请赛开幕式
2018/04/03 DOTA
讲解Python中for循环下的索引变量的作用域
2015/04/15 Python
Python for循环生成列表的实例
2018/06/15 Python
python读写配置文件操作示例
2019/07/03 Python
python实现对服务器脚本敏感信息的加密解密功能
2019/08/13 Python
python递归调用中的坑:打印有值, 返回却None
2020/03/16 Python
PyInstaller运行原理及常用操作详解
2020/06/13 Python
基于Python组装jmx并调用JMeter实现压力测试
2020/11/03 Python
Python LMDB库的使用示例
2021/02/14 Python
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
什么造成了Java里面的异常
2016/04/24 面试题
党员学习十八大感想
2014/01/17 职场文书
高中生学习计划书
2014/09/15 职场文书
2014基层党员批评与自我批评范文
2014/09/24 职场文书
应届生简历自我评价
2015/03/11 职场文书
工程合作意向书范本
2015/05/09 职场文书
幼儿园老师工作总结2015
2015/05/22 职场文书
入党群众意见范文
2015/06/02 职场文书
一年之计:2019年下半年的计划
2019/05/07 职场文书
pytorch中的 .view()函数的用法介绍
2022/03/17 Python