PHP使用curl发送get和post请求

1、GET请求

function getData($url, $data = null)
{
    $ch = curl_init();
    //数据处理,判断是否携带参数
    if ($data) {
        $url .= '?'.http_build_query($data);
    }
    //主要参数
    curl_setopt($ch, CURLOPT_URL, $url);
    //使返回不直接输出
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    //连接超时(秒)
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
    //执行
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}

2、POST请求

function postData($url, $data = [], $json = false)
{
    $ch = curl_init();
    //数据处理及POST参数
    if ($json) {
    	//json编码
        $data = json_encode($data);
        //设置header
        curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-type: application/json']);
    }else {
        $data = http_build_query($data);//常规编码
        //不必额外设置header,默认x-www-form-urlencoded
    }
    //POST请求
    curl_setopt($ch, CURLOPT_POST, true);
    //组装数据
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    //主要参数
    curl_setopt($ch, CURLOPT_URL, $url);
    //使返回不直接输出
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    //连接超时(秒)
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
    //执行
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}
发布了31 篇原创文章 · 获赞 27 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/Hjingeng/article/details/103903367