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 class中public,private,protected的区别以及实例分析
Jun 18 PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
Jul 10 PHP
使用PHP和HTML5 FormData实现无刷新文件上传教程
Sep 06 PHP
php可生成缩略图的文件上传类实例
Dec 17 PHP
php实现的简易扫雷游戏实例
Jul 09 PHP
使用phpstorm和xdebug实现远程调试的方法
Dec 29 PHP
PHP函数超时处理方法
Feb 14 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
May 06 PHP
CI框架AR数据库操作常用函数总结
Nov 21 PHP
PHP性能分析工具xhprof的安装使用与注意事项
Dec 19 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
Aug 23 PHP
php获取是星期几的的一些常用姿势
Dec 15 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
php+mysql分页代码详解
2008/03/27 PHP
php 中文处理函数集合
2008/08/27 PHP
PHP IN_ARRAY 函数使用注意事项
2010/07/24 PHP
php中实现记住密码自动登录的代码
2011/03/02 PHP
php顺序查找和二分查找示例
2014/03/27 PHP
PHP批量生成静态HTML的简单原理和方法
2014/04/20 PHP
浅谈php优化需要注意的地方
2014/11/27 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
2016/10/28 PHP
js 页面传参数时 参数值含特殊字符的问题
2009/12/13 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之二
2011/12/31 Javascript
js的hasownproperty使用示例
2014/03/02 Javascript
javascript实现日期格式转换
2014/12/16 Javascript
jQuery实现冻结表头的方法
2015/03/09 Javascript
Java File类的常用方法总结
2015/03/18 Javascript
Javascript中arguments和arguments.callee的区别浅析
2015/04/24 Javascript
基于html5和nodejs相结合实现websocket即使通讯
2015/11/19 NodeJs
分享经典的JavaScript开发技巧
2015/11/21 Javascript
Fullpage.js固定导航栏-实现定位导航栏
2016/03/17 Javascript
Angularjs实现分页和分页算法的示例代码
2016/12/23 Javascript
微信小程序 scroll-view实现上拉加载与下拉刷新的实例
2017/01/21 Javascript
jQuery中 bind的用法简单介绍
2017/02/13 Javascript
AngularJS中的拦截器实例详解
2017/04/07 Javascript
基于jquery实现多选下拉列表
2017/08/02 jQuery
json前后端数据交互相关代码
2018/09/19 Javascript
Vue路由模块化配置的完整步骤
2019/08/14 Javascript
[01:33]DOTA2上海特级锦标赛 LIQUID战队完整宣传片
2016/03/16 DOTA
Python中条件选择和循环语句使用方法介绍
2013/03/13 Python
Python实现的多线程同步与互斥锁功能示例
2017/11/30 Python
Python实现的多进程拷贝文件并显示百分比功能示例
2019/04/09 Python
JAVA SWT事件四种写法实例解析
2020/06/05 Python
Python 列表反转显示的四种方法
2020/11/16 Python
linux面试相关问题
2012/08/11 面试题
会计实习生工作总结的自我评价
2013/10/07 职场文书
《罗布泊,消逝的仙湖》教学反思
2014/03/01 职场文书
文明班级申报材料
2014/12/24 职场文书
Java后端 Dubbo retries 超时重试机制的解决方案
2022/04/14 Java/Android