加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php curl方法 支持 http https get post cookie

发布时间:2020-12-13 17:32:43 所属栏目:PHP教程 来源:网络整理
导读://请求方式curl封装 @author Geyaru QQ 534208139 参数1:访问的URL,参数2:post数据(不填则为GET),参数3:提交的$cookies,参数4:是否返回$cookies public function curl_request($url,$post=‘‘,$cookie=‘‘,$returnCookie=0){ $curl = curl_init(); c
//请求方式curl封装 @author Geyaru QQ 534208139  参数1:访问的URL,参数2:post数据(不填则为GET),参数3:提交的$cookies,参数4:是否返回$cookies
    public 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://XXX");
            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,CURLOPT_SSL_VERIFYHOST,1);  //ssl 这两行代码是为了能走https的请求,http请求放着也没有影响
            curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,FALSE); //ssl 这两行代码是为了能走https的请求,http请求放着也没有影响
            $data = curl_exec($curl);
            if (curl_errno($curl)) {
                return curl_error($curl);
            }
            curl_close($curl);
            if($returnCookie){
                list($header,$body) = explode("rnrn",$data,2);
                preg_match_all("/Set-Cookie:([^;]*);/",$header,$matches);
                $info[‘cookie‘]  = substr($matches[1][0],1);
                $info[‘content‘] = $body;
                return $info;
            }else{
                return $data;
            }
    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读