PHP读取CURL模拟登录时生成Cookie文件的方法


Posted in PHP onNovember 04, 2014

本文实例讲述了PHP读取CURL模拟登录时生成Cookie文件的方法。分享给大家供大家参考。具体实现方法如下:

在使用PHP中的CURL模拟登录时会保存一个Cookie文件,例如下面的代码

$login_url = 'XXX';  

  

$post_fields['email'] = 'XXXX';  

$post_fields['password'] = 'XXXX';  

$post_fields['origURL'] = 'XXX';  

$post_fields['domain'] = 'xxx.com';  

//cookie文件存放在网站根目录的temp文件夹下  

$cookie_file = tempnam('./temp','cookie');  

  

$ch = curl_init($login_url);  

curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5');  

curl_setopt($ch, CURLOPT_HEADER, 0);  

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  

curl_setopt($ch, CURLOPT_MAXREDIRS, 1);  

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  

curl_setopt($ch, CURLOPT_AUTOREFERER, 1);  

curl_setopt($ch, CURLOPT_POST, 1);  

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);  

curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);  

curl_exec($ch);  

curl_close($ch);  

  

//带上cookie文件,访问需要访问的页面  

$send_url='xxx.com';  

$ch = curl_init($send_url);  

curl_setopt($ch, CURLOPT_HEADER, 0);  

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  

curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);  

$contents = curl_exec($ch);  

curl_close($ch);  

  

//清理cookie文件  

unlink($cookie_file);  

  

//输出网页内容  

print_r($contents);

在temp文件夹下保存一个cookie前缀的临时文件,例如:coo3A98.tmp文件
打开这个文件得到如下代码:

PHP读取CURL模拟登录时生成Cookie文件的方法

要使用php来格式化该文件,使用以下代码就能实现

<?php   

$cookie_folder = dirname(__FILE__)."/temp";  

$lines = file($cookie_folder.'/coo3A98.tmp');  

  

$trows = '';  

  

foreach($lines as $line) {  

    if($line[0] != '#' && substr_count($line, "\t") == 6) {  

        $tokens = explode("\t", $line);  

        $tokens = array_map('trim', $tokens);  

        $tokens[4] = date('Y-m-d h:i:s', $tokens[4]);  

        $trows .= '<tr><td>' . implode('</td><td>', $tokens) . '</td></tr>' . PHP_EOL;  

    }  

}  

echo '<table>'.PHP_EOL.'<tbody>'.PHP_EOL.$trows.'</tbody>'.PHP_EOL.'</table>';  

?>

运行之后就如下图所示,已经被写入到table当中

PHP读取CURL模拟登录时生成Cookie文件的方法

大功告成,如果只读取其中字段可自行修改即可。

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
用PHP进行MySQL删除记录操作代码
Jun 07 PHP
简单的PHP留言本实例代码
May 09 PHP
php标签云的实现代码
Oct 10 PHP
PHP 使用header函数设置HTTP头的示例解析 表头
Jun 17 PHP
php使用百度ping服务代码实例
Jun 19 PHP
php实现替换手机号中间数字为*号及隐藏IP最后几位的方法
Nov 16 PHP
laravel5.2实现区分前后台用户登录的方法
Jan 11 PHP
Yii2实现跨mysql数据库关联查询排序功能代码
Feb 10 PHP
深入理解PHP的远程多会话调试
Sep 21 PHP
PHP获取二叉树镜像的方法
Jan 17 PHP
关于ThinkPHP中的异常处理详解
May 11 PHP
通过PHP设置BugFree获取邮箱通知
Apr 25 PHP
PHP自动重命名文件实现方法
Nov 04 #PHP
php以post形式发送xml的方法
Nov 04 #PHP
PHP中Header使用的HTTP协议及常用方法小结
Nov 04 #PHP
phpmyadmin中禁止外网使用的方法
Nov 04 #PHP
PHP中ini_set与ini_get用法实例
Nov 04 #PHP
PHP实现模仿socket请求返回页面的方法
Nov 04 #PHP
php验证session无效的解决方法
Nov 04 #PHP
You might like
有关于PHP中常见数据类型的汇总分享
2014/01/06 PHP
PHP获取windows登录用户名的方法
2014/06/24 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
2016/01/05 PHP
一波PHP中cURL库的常见用法代码示例
2016/05/06 PHP
PHP 类与构造函数解析
2017/02/06 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
2020/04/26 PHP
javascript 页面只自动刷新一次
2009/07/10 Javascript
ASP.NET jQuery 实例16 通过控件CustomValidator验证RadioButtonList
2012/02/03 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
2015/03/04 Javascript
javascript操作ul中li的方法
2015/05/14 Javascript
javascript面向对象三大特征之封装实例详解
2019/07/24 Javascript
uni-app从安装到卸载的入门教程
2020/05/15 Javascript
vue实现五子棋游戏
2020/05/28 Javascript
[03:45]Newbee战队出征西雅图 决战2016国际邀请赛
2016/08/02 DOTA
老生常谈进程线程协程那些事儿
2017/07/24 Python
TensorFlow实现卷积神经网络CNN
2018/03/09 Python
Python subprocess库的使用详解
2018/10/26 Python
Python 3.8中实现functools.cached_property功能
2019/05/29 Python
Python + OpenCV 实现LBP特征提取的示例代码
2019/07/11 Python
Python数据正态性检验实现过程
2020/04/18 Python
html5教程制作简单画板代码分享
2013/12/04 HTML / CSS
世界上最大的乐器零售商:Guitar Center
2017/11/07 全球购物
Snapfish爱尔兰:在线照片打印和个性化照片礼品
2018/09/17 全球购物
意大利运动服减价商店:ScontoSport
2020/03/10 全球购物
2014新年元旦活动策划方案
2014/02/18 职场文书
资源工程专业毕业生求职信
2014/02/27 职场文书
优秀语文教师事迹
2014/05/18 职场文书
计算机应用专业毕业生求职信
2014/06/03 职场文书
2014年最新离婚协议书范本
2014/10/11 职场文书
党的群众路线教育实践活动个人对照检查材料(乡镇)
2014/11/05 职场文书
2015年控辍保学工作总结
2015/05/18 职场文书
2016年综治和平安建设宣传月活动总结
2016/04/01 职场文书
班干部竞选演讲稿(精选5篇)
2019/09/24 职场文书
js不常见操作运算符总结
2021/11/20 Javascript
「海贼王」112.9万粉丝纪念图标公布
2022/03/21 日漫
Python使用华为API为图像设置多个锚点标签
2022/04/12 Python