博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CURL请求
阅读量:6431 次
发布时间:2019-06-23

本文共 3304 字,大约阅读时间需要 11 分钟。

  hot3.png

 0) {            $response = json_decode($responseText, true);            if ($response == null) {                $error = array('errorCode'=>-1, 'errorMessage'=>'json decode fail', 'responseText'=>$responseText);                //将错误信息记录日志文件里                $logText = "json decode fail : $url";                if (!empty($param)) {                    $logText .= ", param=".json_encode($param);                }                $logText .= ", responseText=$responseText";                file_put_contents("/data/error.log", $logText);            }        }        return $response;    }    /**    *  发起一个HTTP(S)请求,并返回响应文本    *   @param array 错误信息  array($errorCode, $errorMessage)    *   @param string 请求Url    *   @param array 请求参数    *   @param string 请求类型(GET|POST)    *   @param int 超时时间    *   @param array 额外配置    *       *   @return string    */    public function curl_request_text(&$error, $url, $param = array(), $method = 'GET', $timeout = 15, $exOptions = NULL) {        //判断是否开启了curl扩展        if (!function_exists('curl_init')) exit('please open this curl extension');        //将请求方法变大写        $method = strtoupper($method);        $ch = curl_init();        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);        curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);        curl_setopt($ch, CURLOPT_HEADER, false);        if (isset($_SERVER['HTTP_USER_AGENT'])) curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);        if (isset($_SERVER['HTTP_REFERER'])) curl_setopt($ch, CURLOPT_REFERER, $_SERVER['HTTP_REFERER']);        curl_setopt($ch, CURLOPT_AUTOREFERER, 1);        switch ($method) {            case 'POST':                curl_setopt($ch, CURLOPT_POST, true);                if (!empty($param)) {                    curl_setopt($ch, CURLOPT_POSTFIELDS, (is_array($param)) ? http_build_query($param) : $param);                }                break;                        case 'GET':            case 'DELETE':                if ($method == 'DELETE') {                    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');                }                if (!empty($param)) {                    $url = $url.(strpos($url, '?') ? '&' : '?').(is_array($param) ? http_build_query($param) : $param);                }                break;        }        curl_setopt($ch, CURLINFO_HEADER_OUT, true);        curl_setopt($ch, CURLOPT_URL, $url);        //设置额外配置        if (!empty($exOptions)) {            foreach ($exOptions as $k => $v) {                curl_setopt($ch, $k, $v);            }        }        $response = curl_exec($ch);        $error = false;        //看是否有报错        $errorCode = curl_errno($ch);        if ($errorCode) {            $errorMessage = curl_error($ch);            $error = array('errorCode'=>$errorCode, 'errorMessage'=>$errorMessage);            //将报错写入日志文件里            $logText = "$method $url: [$errorCode]$errorMessage";            if (!empty($param)) $logText .= ",$param".json_encode($param);            file_put_contents('/data/error.log', $logText);        }        curl_close($ch);        return $response;    }?>获取用户信息的自定义函数

转载于:https://my.oschina.net/dkiss/blog/613353

你可能感兴趣的文章
螺旋阵(递归和非递归)
查看>>
我的爷爷(知识渊博的下乡知青)
查看>>
jQuery动画连续触发、滞后反复执行解决办法
查看>>
uva 10405 Longest Common Subsequence
查看>>
HttpFileCollection类
查看>>
Eclipse使用常见设置
查看>>
控制台下的字符图像界面
查看>>
c++ 数组形参
查看>>
Memcache的安全
查看>>
KVM/Xen and libvirt: currentMemory, memory and ballooning
查看>>
metasploit 笔记
查看>>
ASP.NET中的COOKIE
查看>>
hdu 2845(最大不连续子序列)
查看>>
J2me的异常处理和多线程
查看>>
hdu 4214 Crash and Go(relians)
查看>>
flash版本更新导致shopex后台上传图片无效的问题
查看>>
选择、生成-EA与数据库的交互-by小雨
查看>>
低调 、隐忍、善良应是最应该修炼的
查看>>
RequireJS中的config
查看>>
内存数据库应用之NBA篮球图文直播室存储设计
查看>>