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 相关文章推荐
15个小时----从修改程序到自己些程序
Oct 09 PHP
php实现用户在线时间统计详解
Oct 08 PHP
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
Oct 29 PHP
PHP面向对象学习笔记之二 生成对象的设计模式
Oct 06 PHP
PHP截断标题且兼容utf8和gb2312编码
Sep 22 PHP
php读取大文件示例分享(文件操作类)
Apr 13 PHP
yii的CURD操作实例详解
Dec 04 PHP
PHP中iconv函数转码时截断字符问题的解决方法
Jan 21 PHP
PHP获取远程图片并保存到本地的方法
May 12 PHP
PHP实现搜索时记住状态的方法示例
May 11 PHP
laravel + vue实现的数据统计绘图(今天、7天、30天数据)
Jul 31 PHP
PHP addcslashes()函数讲解
Feb 03 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在字符断点处截断文字的实现代码
2011/04/21 PHP
MySQL时间字段究竟使用INT还是DateTime的说明
2012/02/27 PHP
PHP面向对象程序设计之接口用法
2014/08/20 PHP
Yii2.0表关联查询实例分析
2016/07/18 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
超级简单的图片防盗(HTML),好用
2007/04/08 Javascript
js获得鼠标的坐标值的方法
2013/03/13 Javascript
JS对img进行操作(换图片/切图/轮换/停止)
2013/04/17 Javascript
js 获取和设置css3 属性值的实现方法
2013/05/06 Javascript
js局部刷新页面时间具体实现
2013/07/04 Javascript
SinaEditor使用方法详解
2013/12/28 Javascript
jquery 淡入淡出效果的简单实现
2014/02/07 Javascript
原生JavaScript实现瀑布流布局
2020/06/28 Javascript
关于JavaScript作用域你想知道的一切
2016/02/04 Javascript
漂亮! js实现颜色渐变效果
2016/08/12 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
2017/09/20 Javascript
简单实现vue验证码60秒倒计时功能
2017/10/11 Javascript
MVVM 双向绑定的实现代码
2018/06/21 Javascript
Vue+Element实现表格编辑、删除、以及新增行的最优方法
2019/05/28 Javascript
JS实现百度搜索框关键字推荐
2020/02/17 Javascript
Array.filter中如何正确使用Async
2020/11/04 Javascript
python实现简单遗传算法
2018/03/19 Python
安装python时MySQLdb报错的问题描述及解决方法
2018/03/20 Python
python可视化实现KNN算法
2019/10/16 Python
利用Python脚本批量生成SQL语句
2020/03/04 Python
在keras中实现查看其训练loss值
2020/06/16 Python
Python爬虫之Selenium多窗口切换的实现
2020/12/04 Python
英国在线自行车商店:Evans Cycles
2016/09/26 全球购物
瑞典首都斯德哥尔摩的多元奢侈时尚品牌:Acne Studios
2017/07/09 全球购物
JENNIFER BEHR官网:各种耳环和发饰
2020/06/07 全球购物
先进工作者申报材料
2014/12/23 职场文书
营销计划书
2015/01/17 职场文书
植物园观后感
2015/06/11 职场文书
上班旷工检讨书
2015/08/15 职场文书
详细介绍python类及类的用法
2021/05/31 Python
MongoDB误操作后使用oplog恢复数据
2022/04/11 MongoDB