curl请求及注意事项

发表日期:2022-08-06 15:26:25 | 来源: | | 浏览(687) 分类:PHP杂项

注意事项:

1.应该设置超时信息,否则接口不通程序超时跑死导致后续业务问题。

2.请求完成应该查验是否请求成功再返回响应信息(最好在失败这里加日志或消息推送),避免影响业务后续异常。

    function post($data, $url)
    {

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);//连接超时时间
        curl_setopt($ch, CURLOPT_TIMEOUT, 30);//请求超时时间
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($ch, CURLOPT_POST, true);//POST请求
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
        
        //设置header头信息
        curl_setopt($ch, CURLOPT_HTTPHEADER, [
            'Content-Type: application/json; charset=utf-8',//json请求
            'token:vXBrUZ7rWE5D4P4ENnwR6GFvaG2pVgul'//比如登录信息/token信息/session信息
        ]);

        $output = curl_exec($ch);

        if ($error_code = curl_errno($ch)) { //已经检查是否报错做进一步处理
            $err = $error_code . ' : ' . curl_error($ch);
            curl_close($ch);
            throw new Exception($err);
        }

        curl_close($ch);
        return $output;
    }


集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。