当前位置:首页 > PHP教程 > php高级应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-08 10:38:35 浏览: 评论:0 

这篇文章主要介绍了php模拟登陆的实现方法,实例分析了snoopy与curl两种实现方法,具有一定参考借鉴价值,需要的朋友可以参考下

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

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

1)使用snoopy模拟登陆:

  1. <?php 
  2. set_time_limit(0); 
  3. require "Snoopy.class.php"
  4. $snoopy=new Snoopy(); 
  5. $snoopy->referer='https://www.phpfensi.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='https://www.phpfensi.com/test/Login.php';//登陆数据提交的URL地址 
  10. $snoopy->submit($url,$submit_vars); 
  11. $snoopy->fetch("https://www.phpfensi.com/");//希望获取的页面数据 
  12. echo $snoopy->results;//m.phpfensi.com 

2)使用curl模拟登陆:

  1. <?php 
  2. set_time_limit(0); 
  3. $cookie_file=tempnam('./tmp','cookie');//tmp目录需要先建立好 
  4. $ch=curl_init(); 
  5. $login_url='https://www.phpfensi.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="https://www.phpfensi.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);

Tags: php模拟登陆

分享到: