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 相关文章推荐
一个简单的自动发送邮件系统(二)
Oct 09 PHP
PHP+javascript液晶时钟
Oct 09 PHP
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
Jun 27 PHP
php判断上传的Excel文件中是否有图片及PHPExcel库认识
Jan 11 PHP
基于PHP开发中的安全防范知识详解
Jun 06 PHP
PHP 使用header函数设置HTTP头的示例解析 表头
Jun 17 PHP
php获得用户ip地址的比较不错的方法
Feb 08 PHP
php实现的发送带附件邮件类实例
Sep 22 PHP
PHP进程同步代码实例
Feb 12 PHP
常用PHP数组排序函数归纳
Aug 08 PHP
PHP小程序支付功能完整版【基于thinkPHP】
Mar 26 PHP
基于PHP实现发微博动态代码实例
Dec 11 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安全性漫谈
2012/06/28 PHP
php检测网页是否被百度收录的函数代码
2013/10/09 PHP
利用php-cli和任务计划实现刷新token功能的方法
2017/05/03 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
JavaScript基础语法让人疑惑的地方小结
2012/05/23 Javascript
js DOM 元素ID就是全局变量
2012/09/20 Javascript
js修改input的type属性及浏览器兼容问题探讨与解决
2013/01/23 Javascript
jquery ajax请求方式与提示用户正在处理请稍等
2014/09/01 Javascript
jQuery动画效果图片轮播特效
2016/01/12 Javascript
jquery动态添加文本并获取值的方法
2016/10/12 Javascript
JavaScript实现省市县三级级联特效
2017/05/16 Javascript
JavaScript基础之流程控制语句的用法
2017/08/31 Javascript
浅谈angular2路由预加载策略
2017/10/04 Javascript
JavaScript实现为事件句柄绑定监听函数的方法分析
2017/11/14 Javascript
element 结合vue 在表单验证时有值却提示错误的解决办法
2018/01/22 Javascript
vue-cli监听组件加载完成的方法
2018/09/07 Javascript
vue实现父子组件之间的通信以及兄弟组件的通信功能示例
2019/01/29 Javascript
原生JS实现萤火虫效果
2020/03/07 Javascript
详解ES6 中的Object.assign()的用法实例代码
2021/01/11 Javascript
Python类属性与实例属性用法分析
2015/05/09 Python
一篇文章快速了解Python的GIL
2018/01/12 Python
Django中针对基于类的视图添加csrf_exempt实例代码
2018/02/11 Python
python3实现表白神器
2019/04/09 Python
python装饰器常见使用方法分析
2019/06/26 Python
Python切图九宫格的实现方法
2019/10/10 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
Pyspark读取parquet数据过程解析
2020/03/27 Python
使用Python+Appuim 清理微信的方法
2021/01/26 Python
英国工具中心:UK Tool Centre
2017/07/10 全球购物
阿迪达斯英国官方网站:adidas英国
2019/08/13 全球购物
用C#语言写出在本地创建一个UDP接收端口的具体过程
2016/02/22 面试题
什么是组件架构
2016/05/15 面试题
好员工观后感
2015/06/17 职场文书
MySQL时间设置注意事项的深入总结
2021/05/06 MySQL
如何利用Python实现一个论文降重工具
2021/07/09 Python
MySQL表锁、行锁、排它锁及共享锁的使用详解
2022/04/02 MySQL