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执行速率优化技巧小结
Mar 15 PHP
一个比较简单的PHP 分页分组类
Dec 10 PHP
分享一个PHP数据流应用的简单例子
Jun 01 PHP
基于Zend的Config机制的应用分析
May 02 PHP
ThinkPHP之foreach标签使用概述
Jun 30 PHP
PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程
Aug 23 PHP
php使用session二维数组实例
Nov 06 PHP
php使用Image Magick将PDF文件转换为JPG文件的方法
Apr 01 PHP
php判断用户是否手机访问代码
Jun 08 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
Jun 19 PHP
php实现将二维关联数组转换成字符串的方法详解
Jul 31 PHP
php+lottery.js实现九宫格抽奖功能
Jul 21 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
2020年4月放送!《Princess Connect Re:Dive》制作组 & 角色声优公开!
2020/03/06 日漫
php根据日期显示所在星座的方法
2015/07/13 PHP
PHP单例模式应用示例【多次连接数据库只实例化一次】
2018/12/18 PHP
php5.6.x到php7.0.x特性小结
2019/08/17 PHP
Laravel 读取 config 下的数据方法
2019/10/13 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
用正则xmlHttp实现的偷(转)
2007/01/22 Javascript
网页javascript精华代码集
2007/01/24 Javascript
js实现按钮加背景图片常用方法
2014/11/01 Javascript
微信小程序 倒计时组件实现代码
2016/10/24 Javascript
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
Vue2.0用户权限控制解决方案的示例
2018/02/10 Javascript
angular的输入和输出的使用方法
2018/09/22 Javascript
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
2019/02/14 jQuery
微信小程序获取位置展示地图并标注信息的实例代码
2019/09/01 Javascript
vue实现短信验证码登录功能(流程详解)
2019/12/10 Javascript
Javascript Symbol原理及使用方法解析
2020/10/22 Javascript
python3 下载网络图片代码实例
2019/08/27 Python
python使用Geany编辑器配置方法
2020/02/21 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
2020/06/04 Python
Python基于yaml文件配置logging日志过程解析
2020/06/23 Python
python中如何写类
2020/06/29 Python
Python爬虫基于lxml解决数据编码乱码问题
2020/07/31 Python
OpenCV利用python来实现图像的直方图均衡化
2020/10/21 Python
拉飞逸官网:Lafayette 148 New York
2020/07/15 全球购物
Linux机考试题
2015/10/16 面试题
mysql有关权限的表都有哪几个
2015/04/22 面试题
J2EE面试题
2016/03/14 面试题
大学生求职计划书
2014/04/30 职场文书
党的群众路线教育实践方案
2014/05/11 职场文书
电子信息工程专业求职信
2014/06/28 职场文书
2015年小学总务工作总结
2015/07/21 职场文书
公司会议开幕词
2016/03/03 职场文书
2019让人心动的商业计划书
2019/06/27 职场文书
mybatis使用oracle进行添加数据的方法
2021/04/27 Oracle
Mysql8.0递归查询的简单用法示例
2021/08/04 MySQL