zoukankan      html  css  js  c++  java
  • PHP实现curl和snoopy类模拟登陆方法

    Snoopy.class.php下载

    方法/步骤

    1.  

      第一种:使用snoopy类实现模拟登陆

      1.在网上下载一个Snoopy.class.php的文件

    2.  

      2.代码实现:

      <?php
      
      set_time_limit(0);
      
      require "Snoopy.class.php";
      
      $snoopy=new Snoopy();
      
      $snoopy->referer='你要模拟登陆的域名';//例如:http://www.baidu.com/
      
      $snoopy->agent="定义浏览器根";
      
      $post['username'] ='登陆账号';//根据你要模拟登陆的网站具体的传值 名称来定
      
      $post['password'] ='登陆密码';//根据你要模拟登陆的网站具体的传值 名称来定
      
      $url='你要模拟登陆的域名,数据提交地址';//登陆数据提交的URL地址
      
      $snoopy->submit($url,$post);
      
      $snoopy->fetch("你要模拟登陆的域名");//希望获取的页面数据
      
      echo $snoopy->results;//输出结果,登陆成功
    3.  

      第二种:使用curl函数模拟登陆

      1.代码实现:储存COOKIE

      <?php
      
      set_time_limit(0);
      
      $cookie_file=tempnam('./tmp','cookie');//tmp目录首先创建好,设置COOKIE文件
      
      $curl=curl_init();
      
      $login_url='你要模拟登陆的域名,数据提交地址';
      
      $curlPost="usename=登陆账号&password=登陆密码";//根据你要模拟登陆的网站具体的传值 名称来定
      
      curl_setopt($ch,CURLOPT_URL,$login_url);
      
      //启用时会将头文件的信息作为数据流输出
      
      curl_setopt($curl,CURLOPT_HEADER,0); //设定是否输出页面内容
      
      curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
      
      curl_setopt($curl,CURLOPT_POST,1); //设置请求发送方式,post或get,CURLOPT_POST或CURLOPT_GET
      
      curl_setopt($curl,CURLOPT_POSTFIELDS,$curlPost);
      
      curl_setopt($curl,CURLOPT_COOKIEJAR,$cookie_file); //保存cookie
      
      curl_exec($curl);//执行
      
      curl_close($curl);//关闭
    4.  

      //2.实现模拟登陆

      $curl=curl_init();
      
      $login_url2="你要模拟登陆的域名";
      
      curl_setopt($curl,CURLOPT_URL,$login_url2);//提交登陆的url
      
      curl_setopt($curl,CURLOPT_HEADER,0); 
      
      curl_setopt($curl,CURLOPT_RETURNTRANSFER,0);
      
      curl_setopt($curl,CURLOPT_COOKIEFILE,$cookie_file); //读取cookie
      
      curl_exec($curl);//执行
      
      curl_close($curl);//关闭
  • 相关阅读:
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    基于分布式锁解决定时任务重复问题
    基于Redis的Setnx实现分布式锁
    基于数据库悲观锁的分布式锁
    使用锁解决电商中的超卖
  • 原文地址:https://www.cnblogs.com/chenjian/p/4433344.html
Copyright © 2011-2022 走看看