PHPIN.NET

 找回密码
 立即注册
查看: 5795|回复: 0

[高级进阶] php模拟登陆的实现方法

[复制链接]

469

主题

31

回帖

5509

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5509
发表于 2015-4-3 20:55:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
php模拟登陆的实现方法

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

(1)使用snoopy模拟登陆(传送门
  1. <?php
  2. set_time_limit(0);
  3. require "Snoopy.class.php";
  4. $snoopy=new Snoopy();
  5. $snoopy->referer='http://www.renren.com/';
  6. $snoopy->agent="Mozilla/5.0 (Windows NT 6.1; rv:22.0) Gecko/20100101 Firefox/22.0";
  7. $submit_vars['email'] ='登陆账号';
  8. $submit_vars['password'] ='登陆密码';
  9. $url='http://www.renren.com/PLogin.do';//登陆数据提交的URL地址
  10. $snoopy->submit($url,$submit_vars);
  11. $snoopy->fetch("http://www.renren.com/");//希望获取的页面数据
  12. echo $snoopy->results;//
复制代码
(2)使用curl模拟登陆
  1. <?php
  2. set_time_limit(0);
  3. $cookie_file=tempnam('./tmp','cookie');//tmp目录需要先建立好
  4. $ch=curl_init();
  5. $login_url='http://www.renren.com/PLogin.do';
  6. $curlPost="email=登陆账号&password=登陆密码";
  7. curl_setopt($ch,CURLOPT_URL,$login_url);
  8. //启用时会将头文件的信息作为数据流输出
  9. curl_setopt($ch,CURLOPT_HEADER,0); //设定是否输出页面内容
  10. curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  11. curl_setopt($ch,CURLOPT_POST,1); //设置请求发送方式,post或get,CURLOPT_POST或CURLOPT_GET
  12. curl_setopt($ch,CURLOPT_POSTFIELDS,$curlPost);
  13. curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_file); //保存cookie
  14. curl_exec($ch);
  15. curl_close($ch);

  16. $ch=curl_init();
  17. $login_url2="http://www.renren.com/";
  18. curl_setopt($ch,CURLOPT_URL,$login_url2);
  19. curl_setopt($ch,CURLOPT_HEADER,0);
  20. curl_setopt($ch,CURLOPT_RETURNTRANSFER,0);
  21. curl_setopt($ch,CURLOPT_COOKIEFILE,$cookie_file); //读取cookie
  22. curl_exec($ch);
  23. curl_close($ch);
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|PHPIN.NET ( 冀ICP备12000898号-14 )|网站地图

GMT+8, 2024-4-27 08:12

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表