php curl GET附带headers

                      
                            <
/**
     * GET 请求并且传递自定义的header头
     * @param string $url
     */
    private function http_get($url){
        //这里的TOKEN就是我自己写进去的header,你们也可以自己添加一个,但是切记,在php中,就算你添加的是小写的,php接收到的都是大写的,就比如,我传递的是一个$headers['token']='11111111';那么,php获取的时候就要用$_SERVER['HTTP_TOKEN']才能获取到,否则的话是获取不到的,这是一个坑
        $headers['TOKEN'] = '21e44936eda6e949a26de7ccec3f7e4e'; 
        $headerArr = array(); 
        foreach( $headers as $n => $v ) { 
            $headerArr[] = $n .':' . $v;  
        }
        $oCurl = curl_init();
        if(stripos($url,"https://")!==FALSE){
            curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);
            curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, FALSE);
            curl_setopt($oCurl, CURLOPT_SSLVERSION, 1); //CURL_SSLVERSION_TLSv1
        }
        curl_setopt($oCurl, CURLOPT_URL, $url);
        curl_setopt($oCurl, CURLOPT_RETURNTRANSFER,true);
        curl_setopt($oCurl, CURLOPT_HTTPHEADER, $headerArr);
        curl_setopt($oCurl, CURLOPT_CONNECTTIMEOUT, 120);
        curl_setopt($oCurl, CURLOPT_COOKIE, 'PHPSESSID=my'.session_id());
        $sContent = curl_exec($oCurl);
        $aStatus = curl_getinfo($oCurl);
        curl_close($oCurl);
        // var_dump($sContent);
       //当返回状态为200的时候就说明网络状态正常返回,那么就返回数据,否则返回false
        if(intval($aStatus["http_code"])==200){
            return $sContent;
        }else{
            return false;
        }
        
    }


>