我们的客户给了我一个 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/