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);//关闭
  • 相关阅读:
    算法
    如果业界中不用高级算法和数据结构,那为什么还要学?
    CentOS 7 运行级别切换
    ECharts笔记
    Vue+TypeScript学习
    TypeScript深入学习
    TypeScript基础
    检测数据类型的方法
    前端提高性能的方式
    柯里化
  • 原文地址:https://www.cnblogs.com/chenjian/p/4433344.html
Copyright © 2011-2022 走看看