zoukankan      html  css  js  c++  java
  • php curl方法 支持 http https get post cookie

    //请求方式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, 1);
                curl_setopt($curl, 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, 1);
                curl_setopt($curl, 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("
    
    ", $data, 2);
                    preg_match_all("/Set-Cookie:([^;]*);/", $header, $matches);
                    $info['cookie']  = substr($matches[1][0], 1);
                    $info['content'] = $body;
                    return $info;
                }else{
                    return $data;
                }
        }
    
  • 相关阅读:
    Mesh简介
    不区分大小写字符串比较函数
    python3.5.4安装时老是弹出api-ms-win-crt-runtime-|1-1-0.dll错误的解决方法
    如何在SVN创建分支版本
    Sublime使用小技巧——去掉.dump后缀
    STM32F407串口调试总结
    USB学习笔记
    实验四+005+陈晓华
    实验三+005+陈晓华
    第5次作业+005+陈晓华
  • 原文地址:https://www.cnblogs.com/gyrgyr/p/11075937.html
Copyright © 2011-2022 走看看