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 相关文章推荐
THINKPHP+JS实现缩放图片式截图的实现
Mar 07 PHP
php代码收集表单内容并写入文件的代码
Jan 29 PHP
PHP实现的MongoDB数据库操作类分享
May 12 PHP
神盾加密解密教程(二)PHP 神盾解密
Jun 08 PHP
PHP延迟静态绑定示例分享
Jun 22 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
Sep 27 PHP
php查询相似度最高的字符串的方法
Mar 12 PHP
PHP内核学习教程之php opcode内核实现
Jan 27 PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
Mar 23 PHP
php ajax异步读取rss文档数据
Mar 29 PHP
PHP面向对象程序设计方法实例详解
Dec 24 PHP
PHP中大括号'{}'用法实例总结
Feb 08 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中的Iterator迭代对象属性详解
2019/04/12 PHP
IE中jscript/javascript的条件编译
2006/09/07 Javascript
Google Map Api和GOOGLE Search Api整合实现代码
2009/07/18 Javascript
jquery.tmpl JQuery模板插件
2011/10/10 Javascript
实测jquery data()如何存值
2013/08/18 Javascript
JavaScript中的eval()函数使用介绍
2014/12/31 Javascript
Bootstrap每天必学之按钮(Button)插件
2016/04/25 Javascript
js添加事件的通用方法推荐
2016/05/15 Javascript
AngularJs表单校验功能实例代码
2017/02/09 Javascript
微信小程序开发之实现自定义Toast弹框
2017/06/08 Javascript
Vue学习之路之登录注册实例代码
2017/07/06 Javascript
React+react-dropzone+node.js实现图片上传的示例代码
2017/08/23 Javascript
JS实现的简单折叠展开动画效果示例
2018/04/28 Javascript
bootstrap自定义样式之bootstrap实现侧边导航栏功能
2018/09/10 Javascript
详解mpvue中使用vant时需要注意的onChange事件的坑
2019/05/16 Javascript
ES6 Generator函数的应用实例分析
2019/06/26 Javascript
vue如何限制只能输入正负数及小数
2019/07/04 Javascript
JS数组方法push()、pop()用法实例分析
2020/01/18 Javascript
Python实现多行注释的另类方法
2014/08/22 Python
对python pandas读取剪贴板内容的方法详解
2019/01/24 Python
Python函数定义及传参方式详解(4种)
2019/03/18 Python
Python 字符串类型列表转换成真正列表类型过程解析
2019/08/26 Python
Django的ListView超详细用法(含分页paginate)
2020/05/21 Python
Python flask框架实现查询数据库并显示数据
2020/06/04 Python
python设置中文界面实例方法
2020/10/27 Python
HTML5中FileReader接口使用方法实例详解
2017/08/26 HTML / CSS
HTML5中通过li-canvas轻松实现单图、多图、圆角图绘制,单行文字、多行文字等
2018/11/30 HTML / CSS
丝芙兰巴西官方商城:SEPHORA巴西
2016/10/31 全球购物
美国背景检查、公共记录和人物搜索网站:BeenVerified
2018/02/25 全球购物
奥地利购买珠宝和手表网站:ELLA JUWELEN
2019/09/03 全球购物
大学毕业生通用求职信
2013/09/28 职场文书
监理资料员岗位职责
2014/01/03 职场文书
物业管理工作方案
2014/05/10 职场文书
写给老师的保证书
2015/05/09 职场文书
Angular性能优化之第三方组件和懒加载技术
2021/05/10 Javascript
探讨Java中的深浅拷贝问题
2021/06/26 Java/Android