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 相关文章推荐
破解图片防盗链的代码(asp/php)测试通过
Jul 02 PHP
PHPnow安装服务[apache_pn]失败的问题的解决方法
Sep 10 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
Apr 18 PHP
PHP使用ob_start生成html页面的方法
Nov 07 PHP
简单谈谈favicon
Jun 10 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
Mar 01 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
Jul 20 PHP
php版微信开发之接收消息,自动判断及回复相应消息的方法
Sep 23 PHP
CodeIgniter框架验证码类库文件与用法示例
Mar 18 PHP
PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法
May 03 PHP
stripos函数知识点实例分享
Feb 11 PHP
thinkphp框架使用JWTtoken的方法详解
Oct 10 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 socke 向指定页面提交数据
2008/07/23 PHP
用php解析html的实现代码
2011/08/08 PHP
解析PHP中一些可能会被忽略的问题
2013/06/21 PHP
PHP使用feof()函数读文件的方法
2014/11/07 PHP
PHP获取访问设备信息的方法示例
2019/02/20 PHP
Extjs中ComboBox加载并赋初值的实现方法
2012/03/22 Javascript
jQuery防止click双击多次提交及传递动态函数或多参数
2014/04/02 Javascript
jQuery插件imgPreviewQs实现上传图片预览
2016/01/15 Javascript
JavaScript必知必会(十) call apply bind的用法说明
2016/06/08 Javascript
Wireshark基本介绍和学习TCP三次握手
2016/08/15 Javascript
AngularJS入门教程之路由与多视图详解
2016/08/19 Javascript
微信端开发--登录小程序步骤
2017/01/11 Javascript
jquery实现表单获取短信验证码代码
2017/03/13 Javascript
Webpack打包慢问题的完美解决方法
2017/03/16 Javascript
vue.js语法及常用指令
2017/10/29 Javascript
基于JavaScript实现每日签到打卡轨迹功能
2018/11/29 Javascript
150行Node.js实现的dns代理工具
2019/08/02 Javascript
nodejs简单抓包工具使用详解
2019/08/23 NodeJs
vue 实现移动端键盘搜索事件监听
2019/11/06 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
2019/11/26 Javascript
Openlayers实现图形绘制
2020/09/28 Javascript
python调用shell的方法
2013/11/20 Python
Python中循环后使用list.append()数据被覆盖问题的解决
2018/07/01 Python
Python使用jsonpath-rw模块处理Json对象操作示例
2018/07/31 Python
python暴力解压rar加密文件过程详解
2019/07/05 Python
python 微信好友特征数据分析及可视化
2020/01/07 Python
在CentOS7下安装Python3教程解析
2020/07/09 Python
Django如何批量创建Model
2020/09/01 Python
Bealls Florida百货商店:生活服饰、家居装饰和鞋子
2018/02/23 全球购物
澳洲本土太阳镜品牌:Quay Australia
2019/07/29 全球购物
物资采购方案
2014/06/12 职场文书
送温暖献爱心活动总结
2014/07/08 职场文书
学法用法心得体会(2016推荐篇)
2016/01/21 职场文书
演讲稿之感恩老师(三篇范文)
2019/09/06 职场文书
redis缓存存储Session原理机制
2021/11/20 Redis
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle