如何通过 PHP 访问 RESTful API

2023-11-23

我对 PHP 以及使用 RESTful API 的整个过程还很陌生。 我现在想要做的就是成功发出一个简单的 HTTP GET 请求 这开放街道地图 API.

我正在使用tcdent 的简单 PHP REST 客户端我基本上了解它的功能。我在 OSM 中获取当前变更集的示例代码是:

<?php
 include("restclient.php");

 $api = new RestClient(array(
     'base_url' => "http://api.openstreetmaps.org/", 
     'format' => "xml")
 );
 $result = $api->get("api/0.6/changesets");

 if($result->info->http_code < 400) {         
     echo "success:<br/><br/>";         
 } else {
     echo "failed:<br/><br/>";
 }
 echo $result->response;
?>

当我在浏览器中输入 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

   $service_url = 'http://example.com/rest/user/';
   $curl = curl_init($service_url);
   $curl_post_data = array(
        "user_id" => 42,
        "emailaddress" => '[email protected]',
        );
   curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
   curl_setopt($curl, CURLOPT_POST, true);
   curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data);
   $curl_response = curl_exec($curl);
   curl_close($curl);

$xml = new SimpleXMLElement($curl_response);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过 PHP 访问 RESTful API 的相关文章

  • 在 RESTful Web 服务中实现注销

    我正在开发一个需要注销服务的移动应用程序 登录服务是通过数据库验证来完成的 现在我陷入了注销状态 退一步 您没有提供有关如何在应用程序中执行身份验证的详细信息 并且很难猜测您在做什么 但是 需要注意的是 在 REST 应用程序中 不能有会话
  • 在服务器上找不到本地主机或 phpMyAdmin:如何修复?

    我按照安装说明进行操作PHP MySQL and PHPMyAdmin 但是当我尝试访问时http localhost phpmyadmin 我收到此错误 未找到 在此找不到请求的 URL phpmyadmin 服务器 然后我尝试访问loc
  • 按文件名对 $_FILES 进行排序 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 他俩 如您所知 在新的 HTML5 中 您可以非常轻松地上传多个文件 但我这里的问题是如何按列 名称 对 FILES 数组进行排序 这是
  • jQuery ajax 调用包含重音字符的 url 将错误的 Uri 从 IE 发送到服务器

    我在使用 IE 发送包含重音字符的 url 时遇到问题 这是一个简单的函数 function runjQueryTest var url test Beyonc get url function 在服务器 PHP 上我记录了请求uri的值
  • 适用于 Linux 的轻量级 IDE [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • PHP WCF 集成

    是不是如果我想支持php客户端访问我的服务 我必须有一个基本的http端点 这是因为php仍然只支持soap 1 1吗 据我所知 自从我使用 PHP 以来已经两年了 情况仍然如此 如果客户端应用程序将使用 PHP 的内置 SoapClien
  • PHP:读取所有传入 HTTP 请求的类 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 GitHub Action 中使用不同版本的 PHP 进行测试

    我有一些 PHP 代码 其中包含使用以下命令运行的测试PHPUnit并想对其进行测试GitHub Actions 我在他们的文档中找不到测试 PHP 包的方法 我想使用不同版本的 PHP 进行测试 但他们只有最新的版本7 3安装 您可以添加
  • 如何在 JavaScript 中创建服务器端进度指示器?

    我想在我的网站中创建一个部分 用户可以在其中进行一些简单的操作update纽扣 这些中的每一个update按钮将发送到服务器 并在幕后进行长时间的处理 当服务器处理数据时 我希望用户有某种进度指示器 例如进度条或文本百分比 我使用 jQue
  • 在哪里可以学习网络编程从入门到精通? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我尝试做教程 但它是无组织且无结构的 我在哪里可以学习 PHP 从初学者到大师 我正在寻找类似的网站w
  • 分页显示所有其他页面上第 1 页的相同帖子

    我最近在创建即将发生的事件列表时得到了很多帮助 请参阅此处显示即将举行的活动 包括今天的活动 https stackoverflow com questions 17343615 showing upcoming events includ
  • 在哪里可以获得 PHP 5.3+ 的 runkit DLL 扩展?

    这是一个简单的问题 我在哪里可以获得 PHP 5 3 版本的 runkit 扩展 它的手册 http php net manual en book runkit php http php net manual en book runkit
  • 是否可以用 PHP 编写电子邮件解析器? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 通过互联网IP地址从一台计算机访问xampp到另一台计算机

    我试图从另一台计算机访问我的 xampp 它显示为禁止错误 然后我在 google 上搜索答案 因为他们告诉在 apache 文件夹中的 httpd conf 文件中更改一些设置 如下所示 Order Deny Allow Deny fro
  • 使用 PHP 从 Mongo 解码 JSON

    我已经看过这个线程 PHP 解码嵌套 JSON https stackoverflow com questions 3555335 php decode nested json并没有设法用它来解决我的问题 我目前正在从 Mongo 获取 J
  • 如何使用更新资源控制器 laravel 4?

    我有带有索引 编辑 更新方法的客户控制器 Route resource customer CustomerController 控制器方法更新 public function update id echo id 我的 HTML 表单
  • CodeIgniter:My_Lang 中的 get_instance

    我发现这个有用的国际化代码 http pastebin com SyKmPYTX http pastebin com SyKmPYTX 一切正常 除了我无法在此类中使用 CI 函数 我想从 DB 设置 languages 和 special
  • php - 解析html页面

    div divbox div p para1 p p para2 p p para3 p table class table tr td td tr table p para4 p p para5 p 有人可以告诉我如何解析这个 html
  • 矩形超出边界是什么意思

    PPB Graphics2D PaintImageData 矩形超出界限是什么意思 我几乎在我检查的每一段代码中都看到了它 最新的代码是 define my consumer key define my consumer secret oa
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List

随机推荐

  • 使用 jstree ui 时,如何让 jstree 中的叶节点在单击时打开其超链接?

    我使用jtree显示一个层次结构 数据如下 div ul li a href C a ul li a href Music a ul li a href Z a ul li a href Hans Zimmer a ul li a href
  • 在javascript中获取矩阵的所有可能选项

    我在 JavaScript 中有一个 item 对象 该项目可以具有如下设置 颜色 尺寸等 我需要在数组中获取所有可能的组合 假设我们有一个看起来像这样的项目 var newItem name new item Settings name
  • 为什么函数调用中的尾随逗号不是语法错误?

    我希望这段代码会失败 因为逗号充当参数分隔符 没有第二个参数并且foo只接受一个参数 fn foo a u8 fn main foo 3 大多数语言接受逗号分隔列表中的尾随逗号 例如参数列表或元组或数组文字 如果您将列表拆分为多行 这会很有
  • Java中的字符串初始化

    String str1 String str2 null String str3 String str4 new String String str5 new String 我知道对于上面的第三次初始化 字符串对象是在字符串池中初始化的 第
  • 取消引用空指针

    希望对答案有更好的理解 给出this帖子 有人可以向我解释一下吗 以下循环缓冲区实现是可能的 并且如果 不 为什么不 define CB TYPE CHAR 0 define CB TYPE FLOAT 1 typedef struct C
  • 拒绝所有不阻止返回重定向

    Nginx 的表现对我来说出乎意料 这是两个简化的位置块 这按预期工作 返回 403 错误 location deny all root var www test 我预计会出现 403 错误 然而 这会返回 301 并重定向 locatio
  • 我应该在所有 iOS 项目的其他链接器标志中包含“-ObjC 和 -all_load”吗? [复制]

    这个问题在这里已经有答案了 可能的重复 all load 链接器标志有什么作用 我看到大多数静态库都要求你这样做 所以我将它们添加到我的所有项目中 添加这个似乎没有副作用 有一个副作用 构建阶段需要很多时间 ObjC 允许静态库使用 Obj
  • 在 TypeScript 中扩展基本类型,错误:“_this 未定义...”

    我正在尝试用 TypeScript 重写一些 JavaScript 代码 其中一些代码引用了我添加到字符串对象原型中的扩展 String prototype format function var formatted this for va
  • Python将numpy数组插入sqlite3数据库

    我试图在 sqlite3 数据库中存储大约 1000 个浮点的 numpy 数组 但我不断收到错误 InterfaceError 绑定参数 1 错误 可能不受支持的类型 我的印象是 BLOB 数据类型可以是任何类型 但它绝对不适用于 num
  • 在表的所有列中搜索某个值?

    我一直在寻找这个问题的答案 但我所能找到的只是人们询问如何在数据库中的所有表的所有列中搜索值 我只想搜索特定表的所有列 人们为所有表问题提出的代码很复杂 我很难弄清楚它到底在哪里搜索特定的表 有人可以帮我吗 谢谢 只需使用一些第三方工具即可
  • Eclipse 不一致:资源泄漏:“<未分配的可关闭值>”从未关闭

    如果我有以下代码 public OutputStream test boolean condition throws FileNotFoundException return condition null new FileOutputStr
  • 如何以编程方式知道 Grails 中是否存在视图或布局文件

    我想以编程方式知道 grails 中是否存在视图或布局 我正在考虑获取绝对路径并要求 File exists 但我不知道如何为每个环境获取此路径 我曾尝试过groovyPagesTemplateEngine getUriWithinGrai
  • 将 PHP 对象存储在会话变量中

    我是面向对象编程的新手 正在编写我的第一门课程 我为一家保险经纪人工作 并尝试使用类来存储有关报价的信息 并将对象存储为会话变量 问题是 当我查看会话变量时 我得到 sessionName PHP Incomplete Class Obje
  • 这是 Files.lines() 中的错误,还是我误解了并行流的某些内容?

    环境 Ubuntu x86 64 14 10 Oracle JDK 1 8u25 我尝试使用并行流Files lines 但是我要 skip 第一行 它是一个带有标题的 CSV 文件 因此我尝试这样做 try final Stream
  • linux中什么是chained irq,什么时候需要使用它们?

    什么是链式IRQ 什么是chained irq enter and chained irq exit这样做 因为在中断发生后 IRQ 线被禁用 但是chained irq enter正在调用与屏蔽中断相关的函数 如果线路已经被禁用 为什么要
  • 将多个版本的 Angular 应用程序部署到 Azure 应用服务

    我有一个 Angular 应用程序 可以毫无问题地部署到 Azure 应用服务 首先 我使用以下命令编译我的应用程序 ng build output path dist aot prod 然后我添加以下内容web config to the
  • NuGet 在 VS 2013 中保持“正在检索信息”或“未找到结果”

    突然间 NuGet 停止了所有项目的工作 我在办公室的 4 台不同的计算机上尝试过 所有计算机都停止工作 如果我转到 管理 NuGet 包 当节点出现时 它会显示 未找到项目 Online gt nuget org被选中 我上次检查前一段时
  • 将项目导入 Netbeans

    我的客户刚刚向我发送了用于开发目的的基础项目 我认为他只是将项目文件夹压缩并发送给我 现在 当我转到 NetBeans 时 使用现有源的新项目 首先我看到错误 该项目已经包含构建文件夹 我从项目中删除了构建文件夹 然后收到错误 该项目已经包
  • MVVM Light Messenger 的正确使用方法

    正确的使用方法是什么Messenger班级 我知道它可以用于 ViewModels Views 通信 但是将它用于技术 业务服务层是一个好方法吗 例如 日志记录 导航服务在构造函数中注册一些消息 并知道这些消息何时在应用程序中发生 发送者
  • 如何通过 PHP 访问 RESTful API

    我对 PHP 以及使用 RESTful API 的整个过程还很陌生 我现在想要做的就是成功发出一个简单的 HTTP GET 请求 这开放街道地图 API 我正在使用tcdent 的简单 PHP REST 客户端我基本上了解它的功能 我在 O