微信小程序 出现47001 data format error原因解决办法,主要原因是请求的数据不是json格式引起的,下面分享我用curl写的请求函数

错误代码

微信小程序 出现47001 data format error原因解决办法,主要原因是请求的数据不是json格式引起的,下面分享我用curl写的请求函数


代码

/**
 * curl请求数据
 * 
 * @param string $url 请求地址
 * @param array $param 请求参数
 * @param string $contentType 请求参数格式(json)
 * @return boolean|mixed
 */
function https_request($url = '', $param = [], $contentType = ''){
    $ch = curl_init();
    
    // 请求地址
    curl_setopt($ch, CURLOPT_URL, $url);
    
    // 请求参数类型
    $param = $contentType == 'json' ? json_encode($param) : $param;
    
    // 关闭https验证
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    
    // post提交
    if($param){
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $param);
    }
    
    // 返回的数据是否自动显示
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    
    // 执行并接收响应结果
    $output = curl_exec($ch);
    
    // 关闭curl
    curl_close($ch);
    
    return $output !== false ? $output : false;
}