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);//关闭
  • 相关阅读:
    读 Kafka 源码写优雅业务代码:配置类
    如何安装FTP服务器,并实现文件共享
    Merge into用法总结
    Insomnia 跟 Postman 类似的软件
    iOS dealloc中初始化weak指针崩溃防护
    Centos7安装febootstrap
    获取 linux 系统 CPU、内存、磁盘 IO 等信息的脚本
    Git本地远程仓库
    网络及服务故障的排查思路
    Git配置远程仓库(密匙链接)
  • 原文地址:https://www.cnblogs.com/chenjian/p/4433344.html
Copyright © 2011-2022 走看看