duanoucuo7045 2014-11-27 23:03
浏览 40
已采纳

如何从PHP API获取和处理响应

Ok I will try and keep this short. I'm making a request to a simple PHP API which can be done by AJAX through Javascript or JQuery, however I want to make the request using PHP. What is the best way to do this? Using the file_get_contents() function or CURL? If so how do I do it through CURL as the API requires I use GET not POST. Also the response I know is in XML, how do I then process the response once it comes back?

This question may have been asked many times, however when reviewing a lot of the questions and answers they are not specific to my needs on this one so please no answers with "Please see this link" as I can guarantee it won't answer the question in full as a lot of them are making requests from either Facebook API or another API that does not do what the API I am using does.

  • 写回答

1条回答 默认 最新

  • doubo1883 2014-11-27 23:10
    关注
    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;
    

    so you extracted from xml the value from ConnectionsCurrent key and MessagesOutBytesRate .

    If your link does not need to auth remove :

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

    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧