zoukankan      html  css  js  c++  java
  • php CURL模拟登陆+获取cookie

     
    /*
     * 模拟post请求
     */
    function post_curl($url, $params=[], $headers=[]){
       $httpInfo = array();
       $ch = curl_init();
       
       curl_setopt($ch, CURLOPT_HEADER, 1);
       curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
       curl_setopt( $ch, CURLOPT_USERAGENT , 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36' );
       curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 30 );
       curl_setopt( $ch, CURLOPT_TIMEOUT , 30);
       curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
       
       curl_setopt( $ch , CURLOPT_POST , true );
       curl_setopt( $ch , CURLOPT_POSTFIELDS , http_build_query($params));
       curl_setopt( $ch , CURLOPT_URL , $url );
       
      
       $response = curl_exec( $ch );
       if ($response === FALSE) {
          return false;
       }
        
        curl_close( $ch );
        return $response;
    }
     
    $re = post_curl($http, $data, 1);
    // 解析HTTP数据流
    list($header, $body) = explode("
    
    ", $re);
    // 解析COOKIE
    preg_match("/set-cookie:([^
    ]*)/i", $header, $matches);
    //请求的时候headers 带上cookie就可以了
    $cookie = explode(';', $matches[1])[0];
  • 相关阅读:
    基于Diff机制的多个状态合并
    do_mmap解读
    Linux对用户态的动态内存管理
    我的WordPress站点
    使用Bochs学习硬件原理
    inode的若干锚
    Use sed and awk to prettify json
    IO完成端口
    如何使用iText制作中文PDF
    Font and PDF
  • 原文地址:https://www.cnblogs.com/chengfengchi/p/14074534.html
Copyright © 2011-2022 走看看