|
@@ -36,100 +36,38 @@ function json_success($data,$msg='ok'){
|
|
exit(json_encode(['code'=>0,'data'=>$data,'msg'=>$msg],JSON_UNESCAPED_UNICODE ));
|
|
exit(json_encode(['code'=>0,'data'=>$data,'msg'=>$msg],JSON_UNESCAPED_UNICODE ));
|
|
}
|
|
}
|
|
|
|
|
|
-/**
|
|
|
|
- * php发送http请求
|
|
|
|
- * @param array $params 相关请求参数
|
|
|
|
- * @param booble $is_json 数据格式,默认false为数组,true为json
|
|
|
|
- * @return string
|
|
|
|
- */
|
|
|
|
-function _curl(array $params,$is_json=false )
|
|
|
|
-{
|
|
|
|
- $_data = $params['data'] ?? null;
|
|
|
|
- $url = $params['url'];
|
|
|
|
- $defaults = [
|
|
|
|
- CURLOPT_HEADER => 0,
|
|
|
|
- CURLOPT_URL => $params['url'],
|
|
|
|
- CURLOPT_FRESH_CONNECT => 1,
|
|
|
|
- CURLOPT_RETURNTRANSFER => 1,
|
|
|
|
- CURLOPT_FORBID_REUSE => 1,
|
|
|
|
- CURLOPT_TIMEOUT => 60,
|
|
|
|
- CURLOPT_SSL_VERIFYHOST=>2,
|
|
|
|
- CURLOPT_SSL_VERIFYPEER=>0,
|
|
|
|
- ];
|
|
|
|
- switch ($params['method'])
|
|
|
|
- {
|
|
|
|
- case 'post':
|
|
|
|
- $defaults[CURLOPT_CUSTOMREQUEST] = "POST";
|
|
|
|
- break;
|
|
|
|
- case 'get':
|
|
|
|
- $defaults[CURLOPT_CUSTOMREQUEST] = "GET";
|
|
|
|
- break;
|
|
|
|
- case 'put':
|
|
|
|
- $defaults[CURLOPT_CUSTOMREQUEST] = "PUT";
|
|
|
|
- break;
|
|
|
|
- case 'delete':
|
|
|
|
- $defaults[CURLOPT_CUSTOMREQUEST] = "DELETE";
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if ($_data && $params['method']!='get')
|
|
|
|
|
|
+function curl_get_https($url,$data){
|
|
|
|
+ if(is_array($data))
|
|
{
|
|
{
|
|
- if($is_json){
|
|
|
|
- $defaults[CURLOPT_POSTFIELDS] = json_encode($_data);
|
|
|
|
- $defaults[CURLOPT_HTTPHEADER] = [
|
|
|
|
- 'Content-Type: application/json',
|
|
|
|
- 'Content-Length: ' . strlen(json_encode($_data))
|
|
|
|
- ];
|
|
|
|
- }else{
|
|
|
|
- $defaults[CURLOPT_POSTFIELDS] = $_data;
|
|
|
|
|
|
+ $param = '';
|
|
|
|
+ foreach ($data as $k=>$v){
|
|
|
|
+ $param .= $k."=".$v."&";
|
|
}
|
|
}
|
|
- }
|
|
|
|
- elseif($params['method']=='get')
|
|
|
|
- {
|
|
|
|
- if(is_array($_data))
|
|
|
|
- {
|
|
|
|
- $param = '';
|
|
|
|
- foreach ($_data as $k=>$v){
|
|
|
|
- $param .= $k."=".$v."&";
|
|
|
|
- }
|
|
|
|
- $param = rtrim($param ,"&");
|
|
|
|
- if(!strpos($url,"?")){
|
|
|
|
- $url .= "?".$param;
|
|
|
|
- }
|
|
|
|
- else{
|
|
|
|
- $url .= "&".$param;
|
|
|
|
- }
|
|
|
|
|
|
+ $param = rtrim($param ,"&");
|
|
|
|
+ if(!strpos($url,"?")){
|
|
|
|
+ $url .= "?".$param;
|
|
|
|
+ }
|
|
|
|
+ else{
|
|
|
|
+ $url .= "&".$param;
|
|
}
|
|
}
|
|
- $defaults[CURLOPT_URL] = $url;
|
|
|
|
}
|
|
}
|
|
-
|
|
|
|
- $ch = curl_init();
|
|
|
|
- curl_setopt_array($ch, ($defaults));
|
|
|
|
-
|
|
|
|
- $result = curl_exec($ch);
|
|
|
|
- curl_close($ch);
|
|
|
|
-
|
|
|
|
- return $result;
|
|
|
|
|
|
+ $curl = curl_init(); // 启动一个CURL会话
|
|
|
|
+
|
|
|
|
+ curl_setopt($curl, CURLOPT_URL, $url);
|
|
|
|
+ curl_setopt($curl, CURLOPT_HEADER, 0);
|
|
|
|
+ curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
|
|
|
|
+ curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
|
|
|
|
+ curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 从证书中检查SSL加密算法是否存在
|
|
|
|
+ $tmpInfo = curl_exec($curl); //返回api的json对象
|
|
|
|
+ //关闭URL请求
|
|
|
|
+ curl_close($curl);
|
|
|
|
+ return $tmpInfo; //返回json对象
|
|
}
|
|
}
|
|
|
|
|
|
-function httpRequest($method,$url,$data)
|
|
|
|
-{
|
|
|
|
- $method = strtolower($method);
|
|
|
|
- $params['method'] = $method;
|
|
|
|
- $params['url'] = $url;
|
|
|
|
- $params['data'] = $data;
|
|
|
|
-
|
|
|
|
- return _curl($params);
|
|
|
|
-}
|
|
|
|
|
|
|
|
function http_get($url,$data)
|
|
function http_get($url,$data)
|
|
{
|
|
{
|
|
- return json_decode(httpRequest('GET',$url,$data),true);
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-function http_post($url,$data)
|
|
|
|
-{
|
|
|
|
- return json_decode(httpRequest('POST',$url,$data),true);
|
|
|
|
|
|
+ return json_decode(curl_get_https($url,$data),true);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|