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
php+mysql分页代码详解
Mar 27 PHP
php中的路径问题与set_include_path使用介绍
Feb 11 PHP
php中的字符编码转换函数用法示例
Oct 20 PHP
php实现根据词频生成tag云的方法
Apr 17 PHP
php发送邮件的问题详解
Jun 22 PHP
深入解析PHP中foreach语句控制数组循环的用法
Nov 30 PHP
项目中应用Redis+Php的场景
May 22 PHP
Yii净化器CHtmlPurifier用法示例(过滤不良代码)
Jul 15 PHP
PHP数组遍历的几种常见方式总结
Feb 15 PHP
php实现的数组转xml案例分析
Sep 28 PHP
laravel返回统一格式错误码问题
Nov 04 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
JAVA/JSP学习系列之四
2006/10/09 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
2014/07/04 PHP
如何修改Laravel中url()函数生成URL的根地址
2017/08/11 PHP
javascript设计模式 封装和信息隐藏(上)
2012/07/24 Javascript
JavaScrip实现PHP print_r的数功能(三种方法)
2013/11/12 Javascript
js中prototype用法详细介绍
2013/11/14 Javascript
5个书写JavaScript代码的坏习惯,看看你中枪了没?
2014/11/06 Javascript
javascript实时显示北京时间的方法
2015/03/12 Javascript
jQuery无刷新分页完整实例代码
2015/10/27 Javascript
javascript实现一个简单的弹出窗
2016/02/22 Javascript
Vue 过渡(动画)transition组件案例详解
2017/01/22 Javascript
如何写好你的JavaScript【推荐】
2017/03/02 Javascript
AngularJS中的路由使用及实现代码
2017/10/09 Javascript
JavaScript实现为事件句柄绑定监听函数的方法分析
2017/11/14 Javascript
浅谈vue项目4rs vue-router上线后history模式遇到的坑
2018/09/27 Javascript
Element Table的row-class-name无效与动态高亮显示选中行背景色
2018/11/30 Javascript
微信小程序实现卡片左右滑动效果的示例代码
2019/05/01 Javascript
Layui tree 下拉菜单树的实例代码
2019/09/21 Javascript
微信小程序全局变量的设置、使用、修改过程解析
2019/09/24 Javascript
JavaScript实现指定数量的并发限制的示例代码
2020/03/10 Javascript
[01:10:27]DOTA2-DPC中国联赛正赛 SAG vs XG BO3 第二场 3月5日
2021/03/11 DOTA
Python tkinter模块中类继承的三种方式分析
2017/08/08 Python
Python搭建FTP服务器的方法示例
2018/01/19 Python
Python无损音乐搜索引擎实现代码
2018/02/02 Python
PyQt5基本控件使用之消息弹出、用户输入、文件对话框的使用方法
2019/08/06 Python
Python如何调用JS文件中的函数
2019/08/16 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
2020/02/21 Python
谷歌浏览器小字体处理方案即12px以下字体
2013/12/17 HTML / CSS
Mankind西班牙男士护肤品网站:购买皮肤护理、护发和剃须
2017/04/27 全球购物
Funko官方商店:源自美国,畅销全球搪胶收藏玩偶
2018/09/15 全球购物
澳大利亚设计的优质鞋类和适合澳大利亚生活方式的服装:Rivers
2019/04/23 全球购物
GetYourGuide台湾:预订旅游活动、景点和旅游项目
2019/06/10 全球购物
英语硕士生求职简历的自我评价
2013/10/15 职场文书
小学生开学第一课活动方案
2014/03/27 职场文书
取保候审保证书
2014/04/30 职场文书
环卫工人慰问信
2015/02/15 职场文书