如何通过PHP访问RESTful API

前端之家收集整理的这篇文章主要介绍了如何通过PHP访问RESTful API前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我对 PHP和RESTful API的全部工作来说都是新鲜事.
所有我现在想做的是成功发出一个纯粹的HTTP GET请求
OpenStreetMap API.

我正在使用simple PHP REST client by tcdent,我基本上了解它的功能.我在OSM中获取当前的变更集的示例代码是:

  1. <?PHP
  2. include("restclient.PHP");
  3.  
  4. $api = new RestClient(array(
  5. 'base_url' => "http://api.openstreetmaps.org/",'format' => "xml")
  6. );
  7. $result = $api->get("api/0.6/changesets");
  8.  
  9. if($result->info->http_code < 400) {
  10. echo "success:<br/><br/>";
  11. } else {
  12. echo "Failed:<br/><br/>";
  13. }
  14. echo $result->response;
  15. ?>

当我在浏览器中输入URL“http://api.openstreetmaps.org/api/0.6/changesets”时,它会提供XML文件.但是,通过这个PHP代码,它返回OSM 404 File Not Found页面.

我想这是一个相当愚蠢的PHP新手问题,但我看不到我失踪了,因为我不太了解这些客户端 – 服务器端进程.

谢谢你的帮助!

使用卷曲.见 http://www.lornajane.net/posts/2008/using-curl-and-php-to-talk-to-a-rest-service
  1. $service_url = 'http://example.com/rest/user/';
  2. $curl = curl_init($service_url);
  3. $curl_post_data = array(
  4. "user_id" => 42,"emailaddress" => 'lorna@example.com',);
  5. curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
  6. curl_setopt($curl,CURLOPT_POST,CURLOPT_POSTFIELDS,$curl_post_data);
  7. $curl_response = curl_exec($curl);
  8. curl_close($curl);

$xml = new SimpleXMLElement($curl_response);

猜你在找的PHP相关文章