Curl方法封装(分享~)

239 阅读1分钟
  • 第一个参数时地址,
  • 第二个是post参数,需要序列化
  • 第三个是cookie
  • 第四个是设置请求头
  • 最后一个,如果你不想在输出中包含body部分,设置这个选项为一个非零值
  • 返回值是网页输出的内容,如果是接口,返回数据,如果是页面,返回html静态代码
   function getCurl($url, $post = 0, $cookie = 0, $header = 0, $nobaody = 0)
        {
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL, $url);
                curl_setopt($ch, CURLOPT_TIMEOUT, 15);
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
                $klsf[] = 'Accept:*/*';
                $klsf[] = 'Accept-Language:zh-cn';
                //$klsf[] = 'Content-Type:application/json';
                $klsf[] = 'User-Agent:Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_1 like Mac OS X) AppleWebKit/604.4.7 (KHTML, like Gecko) Mobile/15C153 MicroMessenger/6.6.1 NetType/WIFI Language/zh_CN';
                $klsf[] = 'Referer:'.$url;
                curl_setopt($ch, CURLOPT_HTTPHEADER, $klsf);
                if ($post) {
                    curl_setopt($ch, CURLOPT_POST, 1);
                    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
                }
                if ($header) {
                    curl_setopt($ch, CURLOPT_HEADER, true);
                }
                if ($cookie) {
                    curl_setopt($ch, CURLOPT_COOKIE, $cookie);
                }
                if ($nobaody) {
                    curl_setopt($ch, CURLOPT_NOBODY, 1);
                }
                curl_setopt($ch, CURLOPT_TIMEOUT,60);
                curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                $ret = curl_exec($ch);
                curl_close($ch);
                return $ret;
        }