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 相关文章推荐
一个查看session内容的函数
Oct 09 PHP
PHP无限分类(树形类)的深入分析
Jun 02 PHP
PHP CURL CURLOPT参数说明(curl_setopt)
Sep 30 PHP
PHP中对于浮点型的数据需要用不同的方法解决
Mar 11 PHP
PHP对文件夹递归执行chmod命令的方法
Jun 19 PHP
php结合md5实现的加密解密方法
Jan 25 PHP
详解PHP实现定时任务的五种方法
Jul 25 PHP
ThinkPHP中类的构造函数_construct()与_initialize()的区别详解
Mar 13 PHP
php中请求url的五种方法总结
Jul 13 PHP
PHP后台备份MySQL数据库的源码实例
Mar 18 PHP
php设计模式之装饰模式应用案例详解
Jun 17 PHP
laravel model 两表联查示例
Oct 24 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
人大复印资料处理程序_输入篇
2006/10/09 PHP
构建简单的Webmail系统
2006/10/09 PHP
用来给图片加水印的PHP类
2008/04/09 PHP
网页上facebook分享功能具体实现
2014/01/26 PHP
php+ajax 实现输入读取数据库显示匹配信息
2015/10/08 PHP
PHP常用操作类之通信数据封装类的实现
2017/07/16 PHP
ThinkPHP中图片按比例切割的代码实例
2019/03/08 PHP
javascript+xml技术实现分页浏览
2008/07/27 Javascript
Javascript 判断函数类型完美解决方案
2009/09/02 Javascript
25个好玩的JavaScript小游戏分享
2011/04/22 Javascript
jQuery选择器全集详解
2014/11/24 Javascript
JavaScript获取DOM元素的11种方法总结
2015/04/25 Javascript
Angular5.1新功能分享
2017/12/21 Javascript
jQuery动态添加li标签并添加属性和绑定事件方法
2018/02/24 jQuery
jQuery+ajax实现动态添加表格tr td功能示例
2018/04/23 jQuery
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
vue头部导航动态点击处理方法
2018/11/02 Javascript
node中IO以及定时器优先级详解
2019/05/10 Javascript
[01:21:07]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
python使用pyhook监控键盘并实现切换歌曲的功能
2014/07/18 Python
Python数据类型学习笔记
2016/01/13 Python
Python正则表达式使用经典实例
2016/06/21 Python
python版百度语音识别功能
2019/07/09 Python
画pytorch模型图,以及参数计算的方法
2019/08/17 Python
在Python中获取操作系统的进程信息
2019/08/27 Python
flask/django 动态查询表结构相同表名不同数据的Model实现方法
2019/08/29 Python
python切割图片的示例
2020/11/12 Python
Pycharm配置lua编译环境过程图解
2020/11/28 Python
纯CSS和jQuery实现的在页面顶部显示的进度条效果2例(仿手机浏览器进度条效果)
2014/04/16 HTML / CSS
CSS中垂直居中的简单实现方法
2015/07/06 HTML / CSS
新学期开学寄语
2014/01/18 职场文书
医德医风演讲稿
2014/05/20 职场文书
工业设计专业自荐书
2014/06/05 职场文书
党建工作汇报材料
2014/12/24 职场文书
优秀护士事迹材料
2014/12/25 职场文书
统计员岗位职责
2015/02/11 职场文书