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 相关文章推荐
写一个用户在线显示的程序
Oct 09 PHP
第十节--抽象方法和抽象类
Nov 16 PHP
在数据量大(超过10万)的情况下
Jan 15 PHP
PHP调用Webservice实例代码
Jul 29 PHP
ThinkPHP有变量的where条件分页实例
Nov 03 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
Mar 12 PHP
PHP编写简单的App接口
Aug 28 PHP
Laravel给生产环境添加监听事件(SQL日志监听)
Jun 19 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
Sep 16 PHP
PHP设计模式之PHP迭代器模式讲解
Mar 22 PHP
PHP文件后缀不强制为.php方法
Mar 31 PHP
PHP工厂模式、单例模式与注册树模式实例详解
Jun 03 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 if 想到的些问题
2008/03/22 PHP
探讨PHP调用时间格式的参数详解
2013/06/06 PHP
php中array_slice和array_splice函数解析
2016/10/18 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
jquery+ajax每秒向后台发送请求数据然后返回页面的代码
2011/01/17 Javascript
javascript+ajax实现产品页面加载信息
2015/07/09 Javascript
js基础知识(公有方法、私有方法、特权方法)
2015/11/06 Javascript
jQuery validate插件实现ajax验证重复的2种方法
2016/01/22 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
Bootstrap Table 在指定列中添加下拉框控件并获取所选值
2017/07/31 Javascript
NodeJs通过async/await处理异步的方法
2017/10/09 NodeJs
JS实现左边列表移到到右边列表功能
2018/03/28 Javascript
JavaScript变量声明var,let.const及区别浅析
2018/04/23 Javascript
详解Puppeteer 入门教程
2018/05/09 Javascript
基于Vue的延迟加载插件vue-view-lazy
2018/05/21 Javascript
Vue列表循环从指定下标开始的多种解决方案
2020/04/08 Javascript
如何手写简易的 Vue Router
2020/10/10 Javascript
JavaScript实现原型封装轮播图
2020/12/27 Javascript
Python Requests 基础入门
2016/04/07 Python
Python 异常处理的实例详解
2017/09/11 Python
Python输出带颜色的字符串实例
2017/10/10 Python
Python+OpenCV让电脑帮你玩微信跳一跳
2018/01/04 Python
python中cPickle类使用方法详解
2018/08/27 Python
解决Python2.7中IDLE启动没有反应的问题
2018/11/30 Python
PyQt5显示GIF图片的方法
2019/06/17 Python
Python爬虫运用正则表达式的方法和优缺点
2019/08/25 Python
Python使用指定字符长度切分数据示例
2019/12/05 Python
CSS3动画之流彩文字效果+图片模糊效果+边框伸展效果实现代码合集
2017/08/18 HTML / CSS
英国图书音像网站:Hive.co.uk(图书、电子书、DVD、蓝光、音乐CD等)
2017/10/16 全球购物
联想香港官方网站及网店:Lenovo香港
2018/04/13 全球购物
StubHub美国:购买或出售您的门票
2019/07/09 全球购物
西雅图电动自行车公司:Rad Power Bikes
2020/02/02 全球购物
技校毕业生自荐信
2014/06/03 职场文书
期末个人总结范文
2015/02/13 职场文书
保险内勤岗位职责
2015/04/13 职场文书
公司仓库管理制度
2015/08/04 职场文书