php模拟登陆的实现方法分析


Posted in PHP onJanuary 09, 2015

本文实例分析了php模拟登陆的实现方法。分享给大家供大家参考。具体分析如下:

php模拟登陆的实现方法,这里分别列举两种方法实现模拟登陆人人网。具体实例代码如下:

1)使用snoopy模拟登陆:

<?php

set_time_limit(0);

require "Snoopy.class.php";

$snoopy=new Snoopy();

$snoopy->referer='https://3water.com/';

$snoopy->agent="Mozilla/5.0 (Windows NT 6.1; rv:22.0) Gecko/20100101 Firefox/22.0";

$submit_vars['email'] ='登陆账号';

$submit_vars['password'] ='登陆密码';

$url='https://3water.com/test/Login.php';//登陆数据提交的URL地址

$snoopy->submit($url,$submit_vars);

$snoopy->fetch("https://3water.com/");//希望获取的页面数据

echo $snoopy->results;//m.3water.com

2)使用curl模拟登陆:
<?php

set_time_limit(0);

$cookie_file=tempnam('./tmp','cookie');//tmp目录需要先建立好

$ch=curl_init();

$login_url='https://3water.com/PLogin.do';

$curlPost="email=登陆账号&password=登陆密码";

curl_setopt($ch,CURLOPT_URL,$login_url);

//启用时会将头文件的信息作为数据流输出

curl_setopt($ch,CURLOPT_HEADER,0); //设定是否输出页面内容

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

curl_setopt($ch,CURLOPT_POST,1); //设置请求发送方式,post或get,CURLOPT_POST或CURLOPT_GET

curl_setopt($ch,CURLOPT_POSTFIELDS,$curlPost);

curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_file); //保存cookie

curl_exec($ch);

curl_close($ch);

$ch=curl_init();

$login_url2="https://3water.com/";

curl_setopt($ch,CURLOPT_URL,$login_url2);

curl_setopt($ch,CURLOPT_HEADER,0); 

curl_setopt($ch,CURLOPT_RETURNTRANSFER,0);

curl_setopt($ch,CURLOPT_COOKIEFILE,$cookie_file); //读取cookie

curl_exec($ch);

curl_close($ch);

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
php !function_exists(&quot;T7FC56270E7A70FA81A5935B72EACBE29&quot;))代码解密
Jan 07 PHP
PHP中使用CURL伪造来路抓取页面或文件
May 04 PHP
php编程实现获取excel文档内容的代码实例
Jun 28 PHP
PHP定时执行计划任务的多种方法小结
Dec 19 PHP
PHP程序员基本要求和必备技能
May 09 PHP
PHP 生成N个不重复的随机数
Jan 21 PHP
PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例
May 12 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
Jul 06 PHP
PHP获取某个月最大天数(最后一天)的方法
Jul 29 PHP
ThinkPHP 模板substr的截取字符串函数详解
Jan 09 PHP
CI框架(CodeIgniter)操作redis的方法详解
Jan 25 PHP
Yii2压缩PHP中模板代码的输出问题
Aug 28 PHP
php获取四位字母和数字的随机数的实现方法
Jan 09 #PHP
php实现读取手机客户端浏览器的类
Jan 09 #PHP
ucenter通信原理分析
Jan 09 #PHP
PHP上传文件时自动分配路径的方法
Jan 09 #PHP
PHP中new static() 和 new self() 的区别介绍
Jan 09 #PHP
PHP中的替代语法介绍
Jan 09 #PHP
php获取客户端电脑屏幕参数的方法
Jan 09 #PHP
You might like
超神学院:鹤熙已踏入神圣领域,实力不比凯莎弱
2020/03/02 国漫
发一个php简单的伪原创程序,配合商城采集用的
2010/10/12 PHP
php中通过虚代理实现延迟加载的实现代码
2011/06/10 PHP
thinkPHP分页功能实例详解
2017/05/05 PHP
ThinkPHP使用getlist方法实现数据搜索功能示例
2017/05/08 PHP
php实现每日签到功能
2018/11/29 PHP
JavaScript入门教程(9) Document文档对象
2009/01/31 Javascript
基于jquery的放大镜效果
2012/05/30 Javascript
javascript标签在页面中的位置探讨
2013/04/11 Javascript
JQuery实现表格中相同单元格合并示例代码
2013/06/26 Javascript
jquery阻止冒泡事件使用模拟事件
2013/09/06 Javascript
javascript完美拖拽的实现方法
2013/09/29 Javascript
js判断鼠标位置是否在某个div中的方法
2016/02/26 Javascript
jQuery实现右键菜单、遮罩等效果代码
2016/09/27 Javascript
jquery获取easyui日期控件的值实现方法
2016/11/09 Javascript
jQuery无刷新上传之uploadify简单代码
2017/01/17 Javascript
给Easyui-Datebox设置隐藏或者不可用的解决方法
2017/05/26 Javascript
webstorm添加*.vue文件支持
2018/05/08 Javascript
在vue中使用echarts图表实例代码详解
2018/10/22 Javascript
JQuery插件tablesorter表格排序实现过程解析
2020/05/28 jQuery
基于JS实现快速读取TXT文件
2020/08/25 Javascript
python将文本分每两行一组并保存到文件
2018/03/19 Python
Python将列表数据写入文件(txt, csv,excel)
2019/04/03 Python
anaconda如何查看并管理python环境
2019/07/05 Python
Python笔记之facade模式
2019/11/20 Python
python3注册全局热键的实现
2020/03/22 Python
纯css3(无图片/js)制作的几个社交媒体网站的图标
2013/03/21 HTML / CSS
防沙治沙典型材料
2014/05/07 职场文书
英语课前三分钟演讲稿
2014/08/19 职场文书
2015年校务公开工作总结
2015/05/26 职场文书
瞿秋白纪念馆观后感
2015/06/10 职场文书
运动会跳远广播稿
2015/08/19 职场文书
2016年社区党支部公开承诺书
2016/03/25 职场文书
PHP中国际化的字符串排序和比较对象详解
2021/08/23 PHP
Ubuntu Server 安装Tomcat并配置systemctl
2022/04/28 Servers
MySQL实现用逗号进行拼接、以逗号进行分割
2022/12/24 MySQL