在PHP中读取REST API响应

Ben*_*ins 3 php xml api rest

我正在尝试阅读Raven SEO Tools API.它是一个REST API,当我只是通过Web浏览器请求URL时,它以XML(或我选择的JSON)的形式提供数据备份.什么是从他们的服务器获取响应到我自己的PHP脚本的最佳方法,然后让我玩.

任何帮助非常感谢

干杯

Lai*_*eed 5

如果您只需要检索URL并解析其信息.最简单的方法是curl/JSON组合.请注意,解析JSON比解析XML更快.

  1. http://www.php.net/manual/en/function.curl-exec.php
  2. http://www.php.net/manual/en/function.json-decode.php

简单的事情:

$url = "http://api.raventools.com/api?key=B1DFC59CA6EC76FF&method=domains&format=json";
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT, 4);
$json = curl_exec($ch);
if(!$json) {
    echo curl_error($ch);
}
curl_close($ch);
print_r(json_decode($json));
Run Code Online (Sandbox Code Playgroud)

但是如果你需要从这个API调用其他方法,如DELETE/PUT等,那么在PHP中使用REST客户端是更优雅的解决方案.可以在PHP REST客户端中找到这些客户端的比较

我专门为Raven API创建了这段代码https://github.com/stephenyeargin/raventools-api-php

示例代码:

require 'path/to/raventools-api-php/raventools-api-php.class.php';
$Raven = new RavenTools( 'B1DFC59CA6EC76FF' );
$method = 'domains';
$options = array('format'=> 'json');
$responseString = $Raven->getJSON($method, $options);
print_r(json_decode($responseString));
Run Code Online (Sandbox Code Playgroud)