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 相关文章推荐
JAVA/JSP学习系列之四
Oct 09 PHP
IIS下配置Php+Mysql+zend的图文教程
Dec 08 PHP
phpMyAdmin 安装教程全攻略
Mar 19 PHP
php ss7.5的数据调用 (笔记)
Mar 08 PHP
php下使用strpos需要注意 === 运算符
Jul 17 PHP
PHPExcel读取Excel文件的实现代码
Dec 06 PHP
PHP运行环境配置与开发环境的配置(图文教程)
Jun 04 PHP
is_uploaded_file函数引发的不能上传文件问题
Oct 29 PHP
PHP常用正则表达式集锦
Aug 17 PHP
destoon实现会员商铺中指定会员或会员组投放广告的方法
Aug 21 PHP
php轻松实现文件上传功能
Mar 03 PHP
php实现大文件断点续传下载实例代码
Oct 01 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+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
2007/02/15 PHP
pw的一个放后门的方法分析
2007/10/08 PHP
解密ThinkPHP3.1.2版本之模块和操作映射
2014/06/19 PHP
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
2016/02/15 PHP
Zend Framework动作助手Redirector用法实例详解
2016/03/05 PHP
thinkPHP的表达式查询用法详解
2016/09/14 PHP
php 静态属性和静态方法区别详解
2017/04/09 PHP
javascript下4个跨浏览器必备的函数
2010/03/07 Javascript
jQuery使用一个按钮控制图片的伸缩实现思路
2013/04/19 Javascript
Javascript:为input设置readOnly属性(示例讲解)
2013/12/25 Javascript
表单中单选框添加选项和移除选项
2016/07/04 Javascript
微信开发 消息推送实现代码
2016/10/21 Javascript
weex slider实现滑动底部导航功能
2017/08/28 Javascript
微信小程序媒体组件详解(视频,音乐,图片)
2017/09/19 Javascript
vuejs前后端数据交互之从后端请求数据的实例
2018/08/11 Javascript
JS操作字符串转数字的常见方法示例
2019/10/29 Javascript
JS中的变量作用域(console版)
2020/07/18 Javascript
vue实现简单全选和反选功能
2020/09/15 Javascript
详解如何在Javascript中使用Object.freeze()
2020/10/18 Javascript
python 删除指定时间间隔之前的文件实例
2018/04/24 Python
python脚本生成caffe train_list.txt的方法
2018/04/27 Python
python中计算一个列表中连续相同的元素个数方法
2018/06/29 Python
对Python通过pypyodbc访问Access数据库的方法详解
2018/10/27 Python
在python中使用requests 模拟浏览器发送请求数据的方法
2018/12/26 Python
python的pstuil模块使用方法总结
2019/07/26 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
2019/09/28 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
2019/10/24 Python
六十大寿答谢词
2014/01/12 职场文书
适用于所有创业者的创业计划书
2014/02/05 职场文书
老师对学生的寄语
2014/04/09 职场文书
导师推荐信范文
2014/05/09 职场文书
人事主管岗位职责说明书
2014/07/30 职场文书
2014年城管个人工作总结
2014/12/08 职场文书
售后服务质量承诺书
2015/04/29 职场文书
联欢会开场白
2015/06/01 职场文书
结婚主持人致辞
2015/07/28 职场文书