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 相关文章推荐
实现获取http内容的php函数分享
Feb 16 PHP
PHP会话控制:Session与Cookie详解
Sep 27 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
Nov 03 PHP
php给图片添加文字水印方法汇总
Aug 27 PHP
ThinkPHP数据操作方法总结
Sep 28 PHP
php创建无限级树型菜单
Nov 05 PHP
PHP中empty和isset对于参数结构的判断及empty()和isset()的区别
Nov 15 PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
Jul 03 PHP
利用PHPStorm如何开发Laravel应用详解
Aug 30 PHP
Laravel框架生命周期与原理分析
Jun 12 PHP
PHP封装的简单连接MongoDB类示例
Feb 13 PHP
PHP删除数组中特定元素的两种方法
Feb 28 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
PHP4实际应用经验篇(3)
2006/10/09 PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
2016/09/11 PHP
PHP创建自己的Composer包方法
2018/04/09 PHP
thinkPHP+LayUI 流加载实现功能
2019/09/27 PHP
优化 JavaScript 代码的方法小结
2009/07/16 Javascript
基于JQuery的密码强度验证代码
2010/03/01 Javascript
input 输入框内的输入事件详细分析
2010/03/17 Javascript
jquery post方式传递多个参数值后台以数组的方式进行接收
2013/01/11 Javascript
IE中JS跳转丢失referrer问题的2个解决方法
2014/07/18 Javascript
Node.js插件的正确编写方式
2014/08/03 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
2015/10/19 Javascript
JS 通过系统时间限定动态添加 select option的实例代码
2016/06/09 Javascript
JavaScript lodash常见用法系列小结
2016/08/24 Javascript
AngularJs Managing Service Dependencies详解
2016/09/02 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
2017/04/20 Javascript
详解Nodejs之静态资源处理
2017/06/05 NodeJs
laravel5.3 vue 实现收藏夹功能实例详解
2018/01/21 Javascript
JS中的算法与数据结构之集合(Set)实例详解
2019/08/20 Javascript
Vuex modules模式下mapState/mapMutations的操作实例
2019/10/17 Javascript
Python中的anydbm模版和shelve模版使用指南
2015/07/09 Python
python实现八大排序算法(2)
2017/09/14 Python
Django+Ajax+jQuery实现网页动态更新的实例
2018/05/28 Python
Python如何获取文件指定行的内容
2020/05/27 Python
Python读取多列数据以及用matplotlib制作图表方法实例
2020/09/23 Python
如何用 Python 处理不平衡数据集
2021/01/04 Python
Django和Ueditor自定义存储上传文件的文件名
2021/02/25 Python
用HTML5制作烟火效果的教程
2015/05/12 HTML / CSS
Europcar比利时:租车
2019/08/26 全球购物
应届生船舶驾驶求职信
2013/10/19 职场文书
大学生工作推荐信范文
2013/12/02 职场文书
车间操作工岗位职责
2013/12/19 职场文书
校友回访母校寄语
2015/02/26 职场文书
2016年党员岗位承诺书
2016/03/24 职场文书
用Python制作灯光秀短视频的思路详解
2021/04/13 Python
Python数据分析之绘图和可视化详解
2021/06/02 Python
spring 项目实现限流方法示例
2022/07/15 Java/Android