/** * 获取url内容 * @param $url * @param array $param * @param array $header * @param int $is_post * @param int $timeout * @return mixed */ function curlPost($url, $param = [], $header = [], $is_post = 1, $timeout = 10) { //初始化curl $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); // 设置请求的路径 if ($is_post == 1) { curl_setopt($curl, CURLOPT_POST, 1); //设置POST提交 } // $header[] = 'Content-Length: ' . strlen(json_encode($param)); curl_setopt($curl, CURLOPT_HTTPHEADER, $header); curl_setopt($curl, CURLOPT_TIMEOUT, $timeout); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //显示输出结果 1 代表 把结果转化为字符串进行处理 // 提交数据 if ($is_post == 1) { if (is_array($param)) { $data_string = json_encode($param); curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string); } else { curl_setopt($curl, CURLOPT_POSTFIELDS, $param); } } //执行请求 $data = $data_str = curl_exec($curl); //处理错误 if ($error = curl_error($curl)) { $log_data = array( 'url' => $url, 'param' => $param, 'error' => '<span style="color:red;font-weight: bold">' . $error . '</span>', ); var_dump($log_data); exit; } # 关闭CURL curl_close($curl); //json数据转换为数组 $data = json_decode($data, true); if (!is_array($data)) { $data = $data_str; } return $data; }
这是我自己生成的header方法,切勿复制
/** * 获得header头信息 * @param $openId * @return array */ function getHeader($openId) { $accessToken = 'anonymous'; $authorization = base64_encode("$openId:$accessToken"); $header = array(); $header[] = 'Authorization:Bearer ' . $authorization; $header[] = 'Accept:application/json'; $header[] = 'Content-Type:application/json;charset=utf-8'; return $header; }