发布日期:2018-03-26
如何在PHP中调用REST API?+ 查看更多
如何在PHP中调用REST API?
+ 查看更多
发布日期:2018-03-07 17:43
分类:PHP
浏览次数:101
我们的客户给了我一个REST API,我需要做一个PHP进行调用。 但事实上,API提供的文档非常有限,所以我真的不知道如何调用这个接口。
我试着在网上查询,但是找到的唯一的答案是一个已经过期的雅虎教程,并且教程中并没有提及头部或任何有深度的信息。
有关于如何调用REST API的任何的信息或者文档吗? 因为即使在W3schools中也只描述了SOAP方法。 在PHP中使用rest 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; }