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下通过系统信号量加锁方式获取递增序列ID
Sep 25 PHP
采用ThinkPHP中F方法实现快速缓存实例
Jun 13 PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
Aug 21 PHP
Yii2.0高级框架数据库增删改查的一些操作
Nov 16 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
Aug 04 PHP
PHP实现权限管理功能示例
Sep 22 PHP
php支付宝APP支付功能
Jul 29 PHP
详解php中生成标准uuid(guid)的方法
Apr 28 PHP
浅析PHP7 的垃圾回收机制
Sep 06 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
Sep 30 PHP
PHP设计模式之装饰器(装饰者)模式(Decorator)入门与应用详解
Dec 13 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方法curl抓取AJAX异步内容思路分析及代码分享
2014/08/25 PHP
PHP编写简单的App接口
2016/08/28 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
2020/08/17 PHP
javaScript 计算两个日期的天数相差(示例代码)
2013/12/27 Javascript
JS中操作JSON总结
2020/12/06 Javascript
jquery.mousewheel实现整屏翻屏效果
2015/08/30 Javascript
实例讲解jquery与json的结合
2016/01/07 Javascript
基于vue实现swipe分页组件实例
2017/05/25 Javascript
使用 Node.js 对文本内容分词和关键词抽取
2017/05/27 Javascript
JS简单实现点击跳转登陆邮箱功能的方法
2017/10/31 Javascript
JavaScript中concat复制数组方法浅析
2019/01/20 Javascript
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
2019/06/07 Javascript
微信小程序前端自定义分享的实现方法
2019/06/13 Javascript
layer扩展打开/关闭动画的方法
2019/09/23 Javascript
vue框架中props的typescript用法详解
2020/02/17 Javascript
[31:29]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第一场 12.20
2020/12/23 DOTA
python实现聚类算法原理
2018/02/12 Python
Python基于pyCUDA实现GPU加速并行计算功能入门教程
2018/06/19 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
2019/02/21 Python
python实现windows倒计时锁屏功能
2019/07/30 Python
python 中的paramiko模块简介及安装过程
2020/02/29 Python
Python的PIL库中getpixel方法的使用
2020/04/09 Python
python 可视化库PyG2Plot的使用
2021/01/21 Python
HTML5 Canvas自定义圆角矩形与虚线示例代码
2013/08/02 HTML / CSS
美体小铺瑞典官方网站:The Body Shop瑞典
2018/01/27 全球购物
完美的中文自荐信
2014/05/24 职场文书
党的群众路线专项整治方案
2014/11/03 职场文书
英语教师个人工作总结
2015/02/09 职场文书
2015年乡镇组织委员工作总结
2015/10/23 职场文书
《倍数和因数》教学反思
2016/02/23 职场文书
不要在HTML中滥用div
2021/05/08 HTML / CSS
OpenCV-Python实现人脸美白算法的实例
2021/06/11 Python
MySQL如何解决幻读问题
2021/08/07 MySQL
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技