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 相关文章推荐
第十节--抽象方法和抽象类
Nov 16 PHP
PHP开发中常用的8个小技巧
Aug 27 PHP
探讨方法的重写(覆载)详解
Jun 08 PHP
php利用反射实现插件机制的方法
Mar 14 PHP
php使用指定编码导出mysql数据到csv文件的方法
Mar 31 PHP
PHP编程中的__clone()方法使用详解
Nov 27 PHP
php删除数组中重复元素的方法
Dec 22 PHP
是 WordPress 让 PHP 更流行了 而不是框架
Feb 03 PHP
Laravel的throttle中间件失效问题解决方法
Oct 09 PHP
Django中通过定时任务触发页面静态化的处理方式
Aug 29 PHP
PDO::exec讲解
Jan 28 PHP
yii框架使用分页的方法分析
Jul 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
jQuery 源码分析笔记
2011/05/25 PHP
从手册去理解分析PHP session机制
2011/07/17 PHP
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
2013/08/07 PHP
eaglephp使用微信api接口开发微信框架
2014/01/09 PHP
将php数组输出html表格的方法
2014/02/24 PHP
PHP的Yii框架中使用数据库的配置和SQL操作实例教程
2016/03/17 PHP
解决laravel groupBy 对查询结果进行分组出现的问题
2019/10/09 PHP
30分钟就入门的正则表达式基础教程
2013/02/25 Javascript
JS中eval函数的使用示例
2013/07/21 Javascript
AngularJS入门教程之ng-class 指令用法
2016/08/01 Javascript
微信小程序之拖拽排序(代码分享)
2017/01/21 Javascript
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
2017/05/20 jQuery
Angular 5.0 来了! 有这些大变化
2017/11/15 Javascript
在vue项目创建的后初始化首次使用stylus安装方法分享
2018/01/25 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
2019/08/26 Javascript
小程序中的箭头函数的具体使用
2020/06/19 Javascript
vue中keep-alive、activated的探讨和使用详解
2020/07/26 Javascript
[01:19:46]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第一场 2月28日
2021/03/11 DOTA
python自动化测试实例解析
2014/09/28 Python
python自定义解析简单xml格式文件的方法
2015/05/11 Python
Python中属性和描述符的正确使用
2016/08/23 Python
浅谈python配置与使用OpenCV踩的一些坑
2018/04/02 Python
浅析Python 责任链设计模式
2020/09/11 Python
webapp字号大小跟随系统字号大小缩放的示例代码
2018/12/26 HTML / CSS
canvas 绘图时位置偏离的问题解决
2020/09/16 HTML / CSS
英国独特的时尚和生活方式品牌:JOY
2018/03/17 全球购物
预订全球最佳旅行体验:Viator
2018/03/30 全球购物
Araks官网:纽约内衣品牌
2020/10/15 全球购物
枚举和一组预处理的#define有什么不同
2016/09/21 面试题
硕士生工作推荐信
2014/03/07 职场文书
乡镇八一建军节活动方案
2014/08/24 职场文书
出国签证在职证明
2014/09/20 职场文书
财政局党的群众路线教育实践活动整改方案
2014/09/21 职场文书
人事代理委托书
2014/09/27 职场文书
业务内勤岗位职责
2015/04/13 职场文书
中学生社会实践教育活动总结
2015/05/06 职场文书