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中截取字符串支持utf-8
Jan 18 PHP
smarty section简介与用法分析
Oct 03 PHP
PHP中的session永不过期的解决思路及实现方法分享
Apr 20 PHP
php学习笔记(三)操作符与控制结构
Aug 06 PHP
ecshop 批量上传(加入自定义属性)
Mar 20 PHP
一组PHP加密解密函数分享
Jun 05 PHP
thinkphp学习笔记之多表查询
Jul 28 PHP
在CentOS系统上从零开始搭建WordPress博客的全流程记录
Apr 21 PHP
php版微信公众号自定义分享内容实现方法
Sep 22 PHP
PHP多维数组元素操作类的方法
Nov 14 PHP
PHP设计模式之原型模式定义与用法详解
Apr 03 PHP
php实现微信企业转账功能
Oct 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小技巧搜集,每个PHPer都来露一手
2007/01/02 PHP
php cache类代码(php数据缓存类)
2010/04/15 PHP
php开启安全模式后禁用的函数集合
2011/06/26 PHP
Laravel程序架构设计思路之使用动作类
2018/06/07 PHP
各种常用浏览器getBoundingClientRect的解析
2009/05/21 Javascript
Javascript 通过json自动生成Dom的代码
2010/04/01 Javascript
Jquery中ajax方法data参数的用法小结
2014/02/12 Javascript
jQuery 获取/设置/删除DOM元素的属性以a元素为例
2014/05/23 Javascript
轻松学习jQuery插件EasyUI EasyUI表单验证
2015/12/01 Javascript
js获取页面及个元素高度、宽度的代码
2016/04/26 Javascript
利用JS实现页面删除并重新排序功能
2016/12/09 Javascript
canvas实现十二星座星空图
2017/02/14 Javascript
jQuery实现弹窗居中效果类似alert()
2017/02/27 Javascript
Vue2.0组件间数据传递示例
2017/03/07 Javascript
bootstrap常用组件之头部导航实现代码
2017/04/20 Javascript
IScroll5实现下拉刷新上拉加载的功能实例
2017/08/11 Javascript
Vue编写多地区选择组件
2017/08/21 Javascript
js中json对象和字符串的理解及相互转化操作实现方法
2017/09/22 Javascript
JavaScript创建对象方法实例小结
2018/09/03 Javascript
node使用mysql获取数据库数据中文乱码问题的解决
2019/12/02 Javascript
mpvue实现微信小程序快递单号查询代码
2020/04/03 Javascript
[58:32]EG vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[52:14]VG vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[45:25]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.22
2019/09/05 DOTA
Python二叉搜索树与双向链表转换实现方法
2016/04/29 Python
在Python文件中指定Python解释器的方法
2019/02/18 Python
python assert的用处示例详解
2019/04/01 Python
Python Web框架之Django框架Form组件用法详解
2019/08/16 Python
Python for i in range ()用法详解
2020/09/18 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
2020/01/02 Python
Django+boostrap 美化admin后台的操作
2020/03/11 Python
python 6.7 编写printTable()函数表格打印(完整代码)
2020/03/25 Python
html5 视频播放解决方案
2016/11/06 HTML / CSS
游戏商店:Eneba
2020/04/25 全球购物
初中作文评语
2014/12/25 职场文书
微信小程序中wxs文件的一些妙用分享
2022/02/18 Javascript