PHP如何获取Cookie并实现模拟登录


Posted in PHP onJuly 16, 2020

一、定义Cookie存储路径

必须使用绝对路径

$cookie_jar = dirname(__FILE__)."/pic.cookie";

二、获取Cookie

将cookie存入文件

$url = "http://1.2.3.4/";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);
$content = curl_exec($ch);
curl_close($ch);

三、模拟浏览器获取验证码

该服务器验证码有漏洞,可以自己指定

取出cookie,一起提交给服务器,让服务器以为是浏览器打开登陆页面

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://1.2.3.4/getCheckpic.action?rand=6836.185874812305');
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$ret = curl_exec($ch);
curl_close($ch);

四、POST提交

$post = "name=2&userType=1&passwd=asdf&loginType=1&rand=6836&imageField.x=25&imageField.y=7";  
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://1.2.3.4/loginstudent.action");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
$result=curl_exec($ch);
curl_close($ch);

五、到指定页面获取数据

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://1.2.3.4/accountcardUser.action");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,0);    
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
$html=curl_exec($ch);
// var_dump($html);
curl_close($ch);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
在PHP中利用XML技术构造远程服务(上)
Oct 09 PHP
php,不用COM,生成excel文件
Oct 09 PHP
mysql 中InnoDB和MyISAM的区别分析小结
Apr 15 PHP
php几个预定义变量$_SERVER用法小结
Nov 07 PHP
php使用wordwrap格式化文本段落的方法
Mar 17 PHP
php递归删除指定文件夹的方法小结
Apr 20 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
Jan 08 PHP
Yii框架实现的验证码、登录及退出功能示例
May 20 PHP
laravel自定义分页效果
Jul 23 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
Aug 02 PHP
PHP程序员学习使用Swoole的理由
Jun 24 PHP
PHP单元测试配置与使用方法详解
Dec 27 PHP
PHP使用Http Post请求发送Json对象数据代码解析
Jul 16 #PHP
PHP字符串和十六进制如何实现互相转换
Jul 16 #PHP
PHP xpath提取网页数据内容代码解析
Jul 16 #PHP
浅析PHP中json_encode与json_decode的区别
Jul 15 #PHP
PHP vsprintf()函数格式化字符串操作原理解析
Jul 14 #PHP
PHP number_format函数原理及实例解析
Jul 14 #PHP
PHP array_reverse() 函数原理及实例解析
Jul 14 #PHP
You might like
php通过rmdir删除目录的简单用法
2015/03/18 PHP
php开发中的页面跳转方法总结
2015/04/26 PHP
smarty简单应用实例
2015/11/03 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
详解PHP版本兼容之openssl调用参数
2018/07/25 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
学习ExtJS Panel常用方法
2009/10/07 Javascript
JS 按钮点击触发(兼容IE、火狐)
2013/08/07 Javascript
判断输入是否为空,获得输入类型的JS代码
2013/10/30 Javascript
gridview生成时如何去掉style属性中的border-collapse
2014/09/30 Javascript
JavaScript实现文字与图片拖拽效果的方法
2015/02/16 Javascript
JavaScript函数使用的基本教程
2015/06/04 Javascript
jQuery+HTML5实现手机摇一摇换衣特效
2015/06/05 Javascript
简介JavaScript中Math.cos()余弦方法的使用
2015/06/15 Javascript
JS实现新浪微博效果带遮罩层的弹出框代码
2015/10/12 Javascript
Window.Open打开窗体和if嵌套代码
2016/04/15 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
2016/06/30 Javascript
关于vue.js v-bind 的一些理解和思考
2017/06/06 Javascript
JS简单实现查看文档创建日期、修改日期和文档大小的方法示例
2018/04/08 Javascript
微信小程序实现发送验证码按钮效果
2018/12/20 Javascript
如何在微信小程序里面退出小程序的方法
2019/04/28 Javascript
js实现类似iphone的网页滑屏解锁功能示例【附源码下载】
2019/06/10 Javascript
vue设置一开始进入的页面教程
2019/10/28 Javascript
在Django中进行用户注册和邮箱验证的方法
2016/05/09 Python
python调用webservice接口的实现
2019/07/12 Python
德国体育用品网上商店:SC24.com
2016/08/01 全球购物
材料物理专业大学毕业生求职信
2013/10/15 职场文书
资产经营总监岗位职责
2013/12/04 职场文书
简历上的自我评价怎么写
2014/01/28 职场文书
优秀本科生求职推荐信
2014/02/24 职场文书
聚美优品的广告词
2014/03/14 职场文书
上班迟到检讨书300字
2014/10/18 职场文书
办公室个人总结
2015/02/28 职场文书
趣味运动会口号
2015/12/24 职场文书
《比尾巴》教学反思
2016/02/24 职场文书
MongoDB数据库的安装步骤
2021/06/18 MongoDB