php - 在 PHP 中调用 REST API

标签 php rest web-services

我们的客户给了我一个 REST API,我需要对其进行 PHP 调用。但事实上,API提供的文档非常有限,所以我真的不知道如何调用服务。

我试过用谷歌搜索它,但唯一出现的是一个已经过期的 Yahoo!关于如何调用服务的教程。没有提及标题或任何深入的信息。

是否有任何关于如何调用 REST API 或有关它的文档的体面信息?因为即使在 W3schools 中,它们也只描述 SOAP 方法。在 PHP 中制作 API 的其余部分有哪些不同的选择?

最佳答案

您可以使用 PHP 的 cURL 扩展访问任何 REST API。但是,API 文档(方法、参数等)必须由您的客户提供!

例子:

// Method: POST, PUT, GET etc
// Data: array("param" => "value") ==> index.php?param=value

function CallAPI($method, $url, $data = false)
{
    $curl = curl_init();

    switch ($method)
    {
        case "POST":
            curl_setopt($curl, CURLOPT_POST, 1);

            if ($data)
                curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
            break;
        case "PUT":
            curl_setopt($curl, CURLOPT_PUT, 1);
            break;
        default:
            if ($data)
                $url = sprintf("%s?%s", $url, http_build_query($data));
    }

    // Optional Authentication:
    curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    curl_setopt($curl, CURLOPT_USERPWD, "username:password");

    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

    $result = curl_exec($curl);

    curl_close($curl);

    return $result;
}

关于php - 在 PHP 中调用 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9802788/

相关文章:

java - 在 Java 中将 WireMock 与 SOAP Web 服务结合使用

ajax - CORS:我需要它吗?

php - Mysql更新字段与其他字段

rest - 在这个 SaaS 场景中,OAuth 是 RESTful API 的好选择吗?

asp.net - 如何通过Web服务从返回的数据集中删除 "diffgr:before"内容

rest - 用于逻辑执行的正确 REST 方法

android - retrofit 2.0.1如何处理不同类型的异常和错误

php - 我怎样才能得到当前日期?

javascript - wordpress 中的 ajax 请求出现非法调用错误(如果未设置 processData 并且无法找到操作处理程序(如果已设置))

php - 多个准备语句的优雅解决方案