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 相关文章推荐
第十一节 重载 [11]
Oct 09 PHP
GD输出汉字的函数的分析
Oct 09 PHP
PHP漏洞全解(详细介绍)
Nov 13 PHP
php使用strtotime和date函数判断日期是否有效代码分享
Dec 25 PHP
php文件服务实现虚拟挂载其他目录示例
Apr 17 PHP
使用PHP实现生成HTML静态页面
Nov 18 PHP
php版微信数据统计接口用法示例
Oct 12 PHP
PHP基于SMTP协议实现邮件发送实例代码
Apr 27 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
Jun 16 PHP
laravel清除视图缓存的代码
Oct 23 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
Oct 30 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
Dec 20 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读取TXT文件向数据库导入海量数据的方法
2013/04/23 PHP
探讨各种PHP字符串函数的总结分析
2013/06/05 PHP
php对象在内存中的存在形式分析
2015/02/03 PHP
thinkPHP学习笔记之安装配置篇
2015/03/05 PHP
PHP微信支付开发实例
2016/06/22 PHP
js基于qrcode.js生成二维码的方法【附demo插件源码下载】
2016/12/28 PHP
php时间戳转换代码详解
2019/08/04 PHP
用jscript启动sqlserver
2007/06/21 Javascript
使用Jquery获取带特殊符号的ID 标签的方法
2014/04/30 Javascript
Js数组排序函数sort()介绍
2015/06/08 Javascript
RequireJS入门一之实现第一个例子
2015/09/30 Javascript
jquery实现倒计时效果
2015/12/14 Javascript
基于jQuery实现点击最后一行实现行自增效果的表格
2016/01/12 Javascript
全面详细的jQuery常见开发技巧手册
2016/02/21 Javascript
javascript实现PC网页里的拖拽效果
2016/03/14 Javascript
JavaScript sort数组排序方法和自我实现排序方法小结
2016/06/06 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
2016/08/01 Javascript
基于node打包可执行文件工具_Pkg使用心得分享
2018/01/24 Javascript
JS实现动态添加外部js、css到head标签的方法
2019/06/05 Javascript
Python打印斐波拉契数列实例
2015/07/07 Python
Python简单实现TCP包发送十六进制数据的方法
2016/04/16 Python
Python3中的列表,元组,字典,字符串相关知识小结
2017/11/10 Python
python机器学习理论与实战(二)决策树
2018/01/19 Python
python2.7读取文件夹下所有文件名称及内容的方法
2018/02/24 Python
python开发准备工作之配置虚拟环境(非常重要)
2019/02/11 Python
Python : turtle色彩控制实例详解
2020/01/19 Python
pycharm sciview的图片另存为操作
2020/06/01 Python
通过代码实例解析Pytest运行流程
2020/08/20 Python
利用python+request通过接口实现人员通行记录上传功能
2021/01/13 Python
Python Selenium操作Cookie的实例方法
2021/02/28 Python
学校后勤岗位职责
2014/02/19 职场文书
安全教育感言
2014/03/04 职场文书
广告词串烧
2014/03/19 职场文书
资产运营委托书范本
2014/10/16 职场文书
乐山大佛导游词
2015/02/02 职场文书
圣诞晚会主持词开场白
2015/05/28 职场文书