PHP curl 各类请求(get、post、put、delete 等)封装函数示例

2024-12-28 20:32:28   小编

PHP curl 各类请求(get、post、put、delete 等)封装函数示例

在 PHP 开发中,经常需要与外部服务进行数据交互。而 curl 是一个强大的工具,可用于发送各种类型的 HTTP 请求。下面为大家提供 PHP curl 各类请求(get、post、put、delete 等)的封装函数示例,以便在项目中更方便地使用。

<?php

// 发送 GET 请求的函数
function sendGetRequest($url, $headers = []) {
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

    $response = curl_exec($curl);
    $httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

    curl_close($curl);

    return ['response' => $response, 'httpCode' => $httpCode];
}

// 发送 POST 请求的函数
function sendPostRequest($url, $data, $headers = []) {
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

    $response = curl_exec($curl);
    $httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

    curl_close($curl);

    return ['response' => $response, 'httpCode' => $httpCode];
}

// 发送 PUT 请求的函数
function sendPutRequest($url, $data, $headers = []) {
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
    curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

    $response = curl_exec($curl);
    $httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

    curl_close($curl);

    return ['response' => $response, 'httpCode' => $httpCode];
}

// 发送 DELETE 请求的函数
function sendDeleteRequest($url, $headers = []) {
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "DELETE");
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

    $response = curl_exec($curl);
    $httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

    curl_close($curl);

    return ['response' => $response, 'httpCode' => $httpCode];
}
?>

在实际使用中,只需要调用相应的函数,并传入正确的参数即可。例如,发送一个 GET 请求:

$getResponse = sendGetRequest('https://example.com/api/data');

发送一个 POST 请求:

$data = ['key1' => 'value1', 'key2' => 'value2'];
$postResponse = sendPostRequest('https://example.com/api/submit', $data);

通过这样的封装,能够使代码更加简洁、易于维护,并且能够方便地处理不同类型的 HTTP 请求。

掌握 PHP curl 的各类请求封装函数对于高效地进行网络数据交互非常有帮助,能够提升开发效率和代码质量。

TAGS: Web 开发 PHP curl 请求封装 PHP 函数示例 HTTP 请求方法

欢迎使用万千站长工具!

Welcome to www.zzTool.com