一段未完成的php curl登陆

<?php
    /**
    * @Author: Aocn
    * @GitHub: https://github.com/aocn
    * @E-mail: 350866797@qq.com
    * @Date  : 2019.03.18
    * MIT
    */

    //@ Function Use Curl Login Website
    function simulate_login(){
          $curl = curl_init();//初始化curl模块
        curl_setopt($curl, CURLOPT_URL, $login_path);//登录提交的地址
        curl_setopt($curl, CURLOPT_HEADER, 0);//是否显示头信息
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);//是否自动显示返回的信息
        curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie); //设置Cookie信息保存在指定的文件中
        curl_setopt($curl, CURLOPT_POST, 1);//post方式提交
        curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post));//要提交的信息
        curl_exec($curl);//执行cURL
        curl_close($curl);//关闭cURL资源,并且释放系统资源
    }

    //@ Function After Login Operation
    function after_login(){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $operate_path);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); //读取cookie
        $rs = curl_exec($ch); //执行cURL抓取页面内容
        curl_close($ch);
        return $rs;
    }


    // Params To Login

    $post = {
        'PhoneNumber': 'aocn',
        'Password': 'Baozhuan'
    }
    $login_path = 'https://admin.xxxx.com/test/api/login';
    $cookie = dirname(__FILE__) . '/Cookies.txt';
    
    simulate_login($post, $login_path);

    $operate_path = 'https://admin.xxxx.com/test/5b7526d6252a3c398d655d1a/api/file/upload';

    $content = after_login($url2, $cookie);
    echo $content; //即为要抓取的内容

 

posted @ 2019-03-25 09:15  aocn  阅读(90)  评论(0)    收藏  举报