PHP的curl

前端之家收集整理的这篇文章主要介绍了PHP的curl前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

PHP封装CURl函数

PHP">/**
 * 封装curl函数
 * @param  [type]  $url          [请求地址]
 * @param  string  $post         [post传输数据,为空则使用get方式]
 * @param  string  $cookie       [设置cookie]
 * @param  integer $returnCookie [是否返回cookie]
 * @return [type]                [description]
 */
 function curl_request($url,$post='',$cookie='',$returnCookie=0){
        $curl = curl_init();
        curl_setopt($curl,CURLOPT_URL,$url);
        curl_setopt($curl,CURLOPT_USERAGENT,'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)');
        curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);
        curl_setopt($curl,CURLOPT_AUTOREFERER,CURLOPT_REFERER,"http://www.baidu.com");
        if($post) {
            curl_setopt($curl,CURLOPT_POST,1);
            curl_setopt($curl,CURLOPT_POSTFIELDS,http_build_query($post));
        }
        if($cookie) {
            curl_setopt($curl,CURLOPT_COOKIE,$cookie);
        }
        curl_setopt($curl,CURLOPT_HEADER,$returnCookie);
        curl_setopt($curl,CURLOPT_TIMEOUT,10);
        curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
        $data = curl_exec($curl);
        if (curl_errno($curl)) {
            return curl_error($curl);
        }
        curl_close($curl);
        if($returnCookie){
            list($header,$body) = explode("\r\n\r\n",$data,2);
            preg_match_all("/Set\-Cookie:([^;]*);/",$header,$matches);
            $info['cookie']  = substr($matches[1][0],1);
            $info['content'] = $body;
            return $info;
        }else{
            return $data;
        }
}

猜你在找的程序笔记相关文章