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;
                }
        }
    
  • 相关阅读:
    【leetcode】7. 反转整数
    【leetcode】496. 下一个更大元素 I
    【leetcode】389. 找不同
    Linux驱动模型解析bus之platform bus
    shell 和进程
    递归调用在循环体内: 把循环展开, 这种情况是先循环再递归
    javascript函数柯里化以及柯里化带来的好处
    Maven测试篇
    关于ECharts Java类库的一个jquery插件
    javascript原型链继承
  • 原文地址:https://www.cnblogs.com/gyrgyr/p/11075937.html
Copyright © 2011-2022 走看看