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 相关文章推荐
JAVA/JSP学习系列之七
Oct 09 PHP
Google Voice 短信发送接口PHP开源版(2010.5更新)
Jul 22 PHP
PHP自定义函数收代码
Aug 01 PHP
深入理解curl类,可用于模拟get,post和curl下载
Jun 08 PHP
php验证邮箱和ip地址最简单方法汇总
Oct 30 PHP
php面向对象编程self和static的区别
May 08 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
Jun 20 PHP
PHP简单实现模拟登陆功能示例
Sep 15 PHP
PHP实现简易计算器功能
Aug 28 PHP
PHP自定义错误处理的方法分析
Dec 19 PHP
php用户名的密码加密更安全的方法
Jun 21 PHP
laravel5.1 ajax post 传值_token示例
Oct 24 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/03/02 日漫
PHP字符串比较函数strcmp()和strcasecmp()使用总结
2014/11/19 PHP
php出租房数据管理及搜索页面
2017/05/23 PHP
做网页的一些技巧(续)
2007/02/01 Javascript
响应鼠标变换表格背景或者颜色的代码
2009/03/30 Javascript
jQueryUI的Dialog的简单封装
2010/06/07 Javascript
编写js扩展方法判断一个数组中是否包含某个元素
2013/11/08 Javascript
如何将php数组或者对象传递给javascript
2014/03/20 Javascript
javascript事件模型实例分析
2015/01/30 Javascript
javascript深拷贝的原理与实现方法分析
2017/04/10 Javascript
axios全局请求参数设置,请求及返回拦截器的方法
2018/03/05 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
2020/08/31 Javascript
Python开发编码规范
2006/09/08 Python
解决Python中由于logging模块误用导致的内存泄露
2015/04/23 Python
Python内置函数OCT详解
2016/11/09 Python
利用python实现数据分析
2017/01/11 Python
Python实现图片转字符画的示例
2017/08/22 Python
python3.6 实现AES加密的示例(pyCryptodome)
2018/01/10 Python
python opencv 二值化 计算白色像素点的实例
2019/07/03 Python
python通过txt文件批量安装依赖包的实现步骤
2019/08/13 Python
Django ORM filter() 的运用详解
2020/05/14 Python
Python中如何引入第三方模块
2020/05/27 Python
python 实现汉诺塔游戏
2020/11/28 Python
Django自带的用户验证系统实现
2020/12/18 Python
Merrell美国官网:美国登山运动鞋品牌
2018/02/07 全球购物
毕业生就业自荐信
2013/12/04 职场文书
导航工程专业自荐信
2014/09/02 职场文书
手机被没收的检讨书
2014/10/04 职场文书
教师个人自我评价
2015/03/04 职场文书
本科毕业论文致谢怎么写
2015/05/14 职场文书
2015年社区重阳节活动总结
2015/07/30 职场文书
古诗之感恩老师
2019/10/24 职场文书
使用Python脚本对GiteePages进行一键部署的使用说明
2021/05/27 Python
Go语言的协程上下文的几个方法和用法
2022/04/11 Golang
Java异常体系非正常停止和分类
2022/06/14 Java/Android
Go语言编译原理之变量捕获
2022/08/05 Golang