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 magic quotes的详解
Jun 17 PHP
php while循环得到循环次数
Oct 26 PHP
使用PHP函数scandir排除特定目录
Jun 12 PHP
php编程每天必学之验证码
Mar 03 PHP
thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法
May 19 PHP
关于PHP中字符串与多进制转换函数的实例代码
Nov 03 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
Mar 01 PHP
Yii2框架自定义验证规则操作示例
Feb 08 PHP
Thinkphp5.0框架视图view的模板布局用法分析
Oct 12 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
Oct 21 PHP
详解使用php-cs-fixer格式化代码
Sep 16 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
基于文本的访客签到簿
2006/10/09 PHP
PHP 函数执行效率的小比较
2010/10/17 PHP
详解php中生成标准uuid(guid)的方法
2019/04/28 PHP
jquery.alert 弹出式复选框实现代码
2009/06/15 Javascript
JavaScript对象、属性、事件手册集合方便查询
2010/07/04 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(三)情景对话中仿打字机输出文字
2013/01/23 Javascript
jquery查找父元素、子元素(个人经验总结)
2014/04/09 Javascript
原生javascript实现DIV拖拽并计算重复面积
2015/01/02 Javascript
javaScript中Math()函数注意事项
2015/06/18 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
2016/05/05 Javascript
微信小程序 网络API 上传、下载详解
2016/11/09 Javascript
Angular多选、全选、批量选择操作实例代码
2017/03/10 Javascript
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
2017/03/30 Javascript
vue.js加载新的内容(实例代码)
2017/06/01 Javascript
JavaScript中最常用的10种代码简写技巧总结
2017/06/28 Javascript
Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置
2018/10/08 Javascript
JS中比较两个Object数组是否相等方法实例
2019/11/11 Javascript
Pycharm学习教程(6) Pycharm作为Vim编辑器使用
2017/05/03 Python
利用Python操作消息队列RabbitMQ的方法教程
2017/07/19 Python
你眼中的Python大牛 应该都有这份书单
2017/10/31 Python
Pytorch入门之mnist分类实例
2018/04/14 Python
caffe binaryproto 与 npy相互转换的实例讲解
2018/07/09 Python
Python实现将HTML转成PDF的方法分析
2019/05/04 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
2019/07/04 Python
conda安装tensorflow和conda常用命令小结
2021/02/20 Python
Html5调用手机摄像头并实现人脸识别的实现
2018/12/21 HTML / CSS
爱尔兰灯和灯具网上商店:Lights.ie
2018/03/26 全球购物
最便宜促销价格订机票:Airpaz(总部设在印尼,支持中文)
2018/11/13 全球购物
哈利波特商店:Harry Potter Shop
2018/11/30 全球购物
JACK & JONES荷兰官网:男士服装和鞋子
2021/03/07 全球购物
财务助理岗位职责
2013/11/10 职场文书
安全教育实施方案
2014/03/02 职场文书
正能量励志演讲稿三分钟(范文)
2019/07/11 职场文书
2019年年中职场激励人心语录30条
2019/08/07 职场文书
导游词之太原天龙山
2020/01/02 职场文书
MySQL中存储时间的最佳实践指南
2021/07/01 MySQL