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 数组遍历方法大全(foreach,list,each)
Jun 30 PHP
php 面向对象的一个例子
Apr 12 PHP
js和php邮箱地址验证的实现方法
Jan 09 PHP
通过dbi使用perl连接mysql数据库的方法
Apr 16 PHP
PHP常用技术文之文件操作和目录操作总结
Sep 27 PHP
在WordPress中实现发送http请求的相关函数解析
Dec 29 PHP
关于PHP文件的自动运行方法分析
May 13 PHP
PHP基于单例模式编写PDO类的方法
Sep 13 PHP
Zend Framework过滤器Zend_Filter用法详解
Dec 09 PHP
总结PHP内存释放以及垃圾回收
Mar 29 PHP
php微信扫码支付 php公众号支付
Mar 24 PHP
thinkphp 获取控制器及控制器方法
Apr 16 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
在IIS上安装PHP4.0正式版
2006/10/09 PHP
基于PHP服务端图片生成缩略图的方法详解
2013/06/20 PHP
PHP+MySQL修改记录的方法
2015/01/21 PHP
Codeigniter的dom类用法实例
2015/06/26 PHP
PHP函数引用返回的实例详解
2016/09/11 PHP
php/JS实现的生成随机密码(验证码)功能示例
2019/06/06 PHP
自己开发Dojo的建议框架
2008/09/24 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
2012/05/23 Javascript
使用 Node.js 做 Function Test实现方法
2013/10/25 Javascript
纯javascript制作日历控件
2015/07/17 Javascript
jQuery表单对象属性过滤选择器实例详解
2016/09/13 Javascript
js自制图片放大镜功能
2017/01/24 Javascript
node.js中fs文件系统模块的使用方法实例详解
2020/02/13 Javascript
Python和perl实现批量对目录下电子书文件重命名的代码分享
2014/11/21 Python
python实现简单购物商城
2016/05/21 Python
python之django母板页面的使用
2018/07/03 Python
Python异常的检测和处理方法
2018/10/26 Python
24式加速你的Python(小结)
2019/06/13 Python
python使用tkinter库实现五子棋游戏
2019/06/18 Python
Python整数与Numpy数据溢出问题解决
2019/09/11 Python
Python脚本打包成可执行文件过程解析
2020/10/20 Python
魔幻般冒泡背景的CSS3按钮动画
2016/02/27 HTML / CSS
GOOD AMERICAN官网:为曲线性感而设计
2017/12/28 全球购物
法国购买二手电子产品网站:Asgoodasnew
2020/03/27 全球购物
List, Set, Map是否继承自Collection接口?
2016/05/16 面试题
华为慧通笔试题
2016/04/22 面试题
一些Unix笔试题和面试题
2012/09/25 面试题
读书心得体会
2013/12/28 职场文书
计算机专业毕业生求职信
2014/04/30 职场文书
2015年保险公司内勤工作总结
2015/05/23 职场文书
vue使用v-model进行跨组件绑定的基本实现方法
2021/04/28 Vue.js
MySQL 覆盖索引的优点
2021/05/19 MySQL
教你漂亮打印Pandas DataFrames和Series
2021/05/29 Python
python中的class_static的@classmethod的巧妙用法
2021/06/22 Python
Redisson实现Redis分布式锁的几种方式
2021/08/07 Redis
ConditionalOnProperty配置swagger不生效问题及解决
2022/06/14 Java/Android