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在Web开发领域的优势
Oct 09 PHP
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
Aug 07 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
Apr 25 PHP
关于php 接口问题(php接口主要也就是运用curl,curl函数)
Jul 01 PHP
PHP获取文件行数的方法
Jun 10 PHP
php检测图片主要颜色的方法
Jul 01 PHP
PHP实现上传文件并存进数据库的方法
Jul 16 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
Jun 13 PHP
Python中使用django form表单验证的方法
Jan 16 PHP
PHP开发APP端微信支付功能
Feb 17 PHP
利用Homestead快速运行一个Laravel项目的方法详解
Nov 14 PHP
PHP实现的简单路由和类自动加载功能
Mar 13 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
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
2014/10/30 PHP
PHP实现页面静态化的超简单方法
2016/09/06 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
2017/08/04 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
2019/02/27 PHP
JavaScript Date对象 日期获取函数
2010/12/19 Javascript
收集的10个免费的jQuery相册
2011/02/26 Javascript
JQuery datepicker 使用方法
2011/05/20 Javascript
javascript:FF/Chrome与IE动态加载元素的区别说明
2014/01/26 Javascript
jquery实现勾选复选框触发事件给input赋值
2015/02/01 Javascript
JavaScript使用addEventListener添加事件监听用法实例
2015/06/01 Javascript
JavaScript模拟实现键盘打字效果
2015/06/29 Javascript
Javascript模仿淘宝信用评价实例(附源码)
2015/11/26 Javascript
Angular中$cacheFactory的作用和用法实例详解
2016/08/19 Javascript
js判断所有表单项不为空则提交表单的实现方法
2016/09/09 Javascript
JS 滚动事件window.onscroll与position:fixed写兼容IE6的回到顶部组件
2016/10/10 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
2016/11/21 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
bootstrapvalidator之API学习教程
2017/06/29 Javascript
关于react中组件通信的几种方式详解
2017/12/10 Javascript
JavaScript实现全选取消效果
2017/12/14 Javascript
vuex提交state&&实时监听state数据的改变方法
2018/09/16 Javascript
JS函数内部属性之arguments和this实例解析
2018/10/07 Javascript
vue接口请求加密实例
2020/08/11 Javascript
python使用urlparse分析网址中域名的方法
2015/04/15 Python
Python3.2中的字符串函数学习总结
2015/04/23 Python
解决Python 遍历字典时删除元素报异常的问题
2016/09/11 Python
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
python实现汽车管理系统
2018/11/30 Python
Python+OpenCv制作证件图片生成器的操作方法
2019/08/21 Python
Pytorch中的VGG实现修改最后一层FC
2020/01/15 Python
美国瑜伽品牌:Gaiam
2017/10/31 全球购物
法国面料和小百货在线商店:Mondial Tissus
2019/03/23 全球购物
HR喜欢的自荐信格式
2013/10/08 职场文书
国际政治个人自荐信范文
2013/11/26 职场文书
信息学院毕业生自荐信范文
2014/03/04 职场文书
财务情况说明书范文
2014/05/06 职场文书