PHP读取CURL模拟登录时生成Cookie文件的方法
2023-06-13 09:15:30 时间
本文实例讲述了PHP读取CURL模拟登录时生成Cookie文件的方法。分享给大家供大家参考。具体实现方法如下:
在使用PHP中的CURL模拟登录时会保存一个Cookie文件,例如下面的代码
$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;WindowsNT5.1;zh-CN;rv:1.9.1.5)Gecko/20091102Firefox/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来格式化该文件,使用以下代码就能实现
$cookie_folder=dirname(__FILE__)."/temp";
$lines=file($cookie_folder."/coo3A98.tmp");
$trows="";
foreach($linesas$line){
if($line[0]!="#"&&substr_count($line,"\t")==6){
$tokens=explode("\t",$line);
$tokens=array_map("trim",$tokens);
$tokens[4]=date("Y-m-dh: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程序设计有所帮助。
相关文章
- 搜索引擎自动提交连接php文件,死链检测工具(自动提交给百度,逆天了)
- mac下使用brew配置nginx+php+mysql+PostgreSQL
- 快速步骤:安装PHP访问Oracle数据库(php安装oracle)
- PHP is_dir is_file 文件路径需要注意的问题详解编程语言
- 借助 PHP 与 MySQL 轻松实现文件下载(php和mysql下载)
- 数据库快速修改MySQL数据库:使用PHP进行快速修改(php修改mysql)
- MySQL封装,PHP解决方案(php封装mysql)
- PHP配置指南:MySQL编码设置详解(php设置mysql编码)
- 如何在Linux系统下执行PHP文件?(linux下执行php)
- 「PHP Redis手册:高效有力的操作指南」(php的redis手册)
- PHP添加MySQL扩展:快速实现数据库连接(php添加mysql扩展)
- PHP文件快速导入MySQL数据库(php文件导入mysql)
- Linux无法解析PHP文件,如何解决(linux 不解析php)
- 技术使用PHP与MSSQL高效连接:实现无缝关联(php连接mssql的)
- Linux平台如何高效搜索PHP文件(linux搜索php)
- 深入学习Linux下的PHP编程技巧(linux下php编程)
- 以Apache、MySQL和PHP组成的最强技术栈(apache mysql php)
- Linux下轻松执行PHP文件的方法(linux执行php文件)
- 检查PHP Redis环境实现快速可靠性服务(检查php redis)
- PHP函数mysqlclose的作用及用法详解(mysql_close()
- 用PHP产生动态的影像图
- escapeunescape的php下的实现方法
- PHP学习文件处理与文件上传课件
- IIS6下配置fastcgi的php的教程
- php文件上传代码(限制jpg文件)
- php做下载文件的实现代码及文件名中乱码解决方法
- PHP和Mysqlweb应用开发核心技术第1部分Php基础-1开始了解php
- PHP输入流php://input介绍
- PHP修改session_id示例代码
- 配置php.ini实现PHP文件上传功能
- php获取CSS文件中图片地址并下载到本地的方法
- php+jQuery.uploadify实现文件上传教程