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中操作MySQL数据库的一些要注意的问题
Oct 09 PHP
手把手教你使用DedeCms V3的在线采集图文教程
Apr 03 PHP
php 从数据库提取二进制图片的处理代码
Sep 09 PHP
php继承的一个应用
Sep 06 PHP
php 记录进行累加并显示总时长为秒的结果
Nov 04 PHP
PHP获取ip对应地区和使用网络类型的方法
Mar 11 PHP
PHP输入输出流学习笔记
May 12 PHP
XHProf报告字段含义的解析
May 17 PHP
Zend Framework框架中实现Ajax的方法示例
Jun 27 PHP
浅谈thinkphp5 instance 的简单实现
Jul 30 PHP
php变量与JS变量实现不通过跳转直接交互的方法
Aug 25 PHP
PHP实现Huffman编码/解码的示例代码
Apr 20 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
linux下删除7天前日志的代码(php+shell)
2011/01/02 PHP
Linux下实现PHP多进程的方法分享
2012/08/16 PHP
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
2014/07/25 PHP
Jquery原生态实现表格header头随滚动条滚动而滚动
2014/03/18 Javascript
jQuery stop()用法实例详解
2016/07/28 Javascript
详解Vue 开发模式下跨域问题
2017/06/06 Javascript
vue-loader教程介绍
2017/06/14 Javascript
AngularJS select加载数据选中默认值的方法
2018/02/28 Javascript
React 无状态组件(Stateless Component) 与高阶组件
2018/08/14 Javascript
解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题
2018/09/14 Javascript
微信小程序自定义轮播图
2018/11/04 Javascript
微信小程序云开发之使用云存储
2019/05/17 Javascript
jQuery-Citys省市区三级菜单联动插件使用详解
2019/07/26 jQuery
JavaScript中的this原理及6种常见使用场景详解
2020/02/14 Javascript
javascript实现智能手环时间显示
2020/09/18 Javascript
[01:11:11]Alliance vs RNG 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
基于python yield机制的异步操作同步化编程模型
2016/03/18 Python
Python爬虫设置代理IP的方法(爬虫技巧)
2018/03/04 Python
对Python 2.7 pandas 中的read_excel详解
2018/05/04 Python
用Python实现最速下降法求极值的方法
2019/07/10 Python
python运用sklearn实现KNN分类算法
2019/10/16 Python
python将数组n等分的实例
2019/12/02 Python
DataFrame 数据合并实现(merge,join,concat)
2020/06/14 Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
2020/06/23 Python
pandas map(),apply(),applymap()区别解析
2021/02/24 Python
突袭HTML5之Javascript API扩展4—拖拽(Drag/Drop)概述
2013/01/31 HTML / CSS
兰蔻加拿大官方网站:Lancome加拿大
2016/08/05 全球购物
分布式数据库需要考虑哪些问题
2013/12/08 面试题
WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回?
2012/02/21 面试题
捐款倡议书范文
2014/02/02 职场文书
元旦晚会感言
2014/03/12 职场文书
运动会广播稿诗歌版
2014/09/12 职场文书
保密工作整改报告
2014/11/06 职场文书
2014年村计划生育工作总结
2014/11/14 职场文书
2014年教研工作总结
2014/12/06 职场文书
使用php的mail()函数实现发送邮件功能
2021/06/03 PHP