【问题标题】:How can I get and process a response from a PHP API如何获取和处理来自 PHP API 的响应
【发布时间】:2015-01-26 14:07:25
【问题描述】:

好的,我会尽量保持简短。我正在向一个简单的 PHP API 发出请求,该 API 可以通过 Javascript 或 JQuery 由 AJAX 完成,但是我想使用 PHP 发出请求。做这个的最好方式是什么?使用 file_get_contents() 函数或 CURL?如果是这样,我该如何通过 CURL 进行操作,因为 API 要求我使用 GET 而不是 POST。我知道的响应也是 XML 格式的,一旦响应返回,我该如何处理?

这个问题可能已经被问过很多次了,但是在查看很多问题和答案时,它们并不特定于我对这个问题的需求,所以请不要使用“请参阅此链接”来回答,因为我可以保证它不会无法完整回答这个问题,因为他们中的许多人都从 Facebook API 或另一个 API 发出请求,而这些 API 与我使用的 API 不同。

【问题讨论】:

标签: php api curl


【解决方案1】:
function  getXML()
{

 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, "http://127.0.0.1/index.html");
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($ch, CURLOPT_USERPWD, "user:password");
 curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
 $res = curl_exec($ch);

 return  $res;

}

    $xml_data = getXML();

    $doc = new DOMDocument();
    $doc->loadXML($xml_data);

    $wms = $doc->getElementsByTagName('WowzaMediaServer');


    $wmstotalactive = $wms->item(0)->getElementsByTagName("ConnectionsCurrent")->item(0)->nodeValue;
    $wmstotaloutbytes = $wms->item(0)->getElementsByTagName("MessagesOutBytesRate")->item(0)->nodeValue;

所以你从 xml 中提取了 ConnectionsCurrent 键和 MessagesOutBytesRate 的值 .

如果您的链接不需要授权删除:

curl_setopt($ch, CURLOPT_USERPWD, "user:password");

curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);

【讨论】:

  • 很高兴它对你有所帮助:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-26
  • 2019-04-25
  • 1970-01-01
  • 2019-07-20
  • 2013-08-27
  • 2021-03-30
  • 1970-01-01
相关资源
最近更新 更多