通过Curl/PHP查询API

2023-11-22

我正在查看 Parse.com REST API 并使用 PHP 使用的 Curl 包装器进行调用。

原始 Curl 代码(有效):

curl -X GET \
  -H "X-Parse-Application-Id: myApplicationID" \
  -H "X-Parse-REST-API-Key: myRestAPIKey" \
  https://api.parse.com/1/classes/Steps

PhP代码(有效):

$ch = curl_init('https://api.parse.com/1/classes/Steps');

curl_setopt($ch,CURLOPT_HTTPHEADER,array('X-Parse-Application-Id: myApplicationID',
    'X-Parse-REST-API-Key: myRestAPIKey',
    'Content-Type: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_exec($ch);
curl_close($ch);

那很好,但现在当我尝试添加查询约束时:

原始 Curl 代码(有效):

curl -X GET \
  -H "X-Parse-Application-Id: myApplicationID" \
  -H "X-Parse-REST-API-Key: myRestAPIKey" \
  -G \
--data-urlencode 'where={"steps":9243}' \
https://api.parse.com/1/classes/Steps

唉,我们最终到达了我的问题——上面代码的 php 类似物是什么?

PHP代码(不起作用):

$ch = curl_init('https://api.parse.com/1/classes/Steps');

$query = urlencode('where={"steps":9243}');

curl_setopt($ch,CURLOPT_HTTPHEADER,array('X-Parse-Application-Id: myApplicationID',
    'X-Parse-REST-API-Key: myRestAPIKey',
    'Content-Type: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);

curl_exec($ch);
curl_close($ch);

错误响应:

Object ( [code] => 107 [error] => invalid json: where%3D%7B%22steps%22%3A9243%7D )

您的上一个 PHP 示例已将请求从 GET 更改为 POST。在查询字符串而不是 POST 正文中传递参数。尝试:

$query = urlencode('where={"steps":9243}');
$ch = curl_init('https://api.parse.com/1/classes/Steps?'.$query);

curl_setopt(
    $ch, 
    CURLOPT_HTTPHEADER,
    array(
        'X-Parse-Application-Id: myApplicationID',
        'X-Parse-REST-API-Key: myRestAPIKey',
        'Content-Type: application/json'
    )
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

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

通过Curl/PHP查询API 的相关文章

随机推荐

  • jquery 选择选项单击处理程序

    given
  • Android 应用程序获取最后更新日期

    是否可以获取应用程序上次更新的日期 我想在应用程序中显示它 如下所示 String htmltext E mail Datacontainer Instance GetDatabaseHelper GetUserEmail br Autho
  • 如何使用 IOptions 模式在 dotnet-isolated (net5.0) azure 函数中进行配置

    我正在尝试将现有的 Functions 应用程序从 core 3 1 v3 移植到 net5 0 但无法弄清楚如何让 IOptions 配置模式发挥作用 我的配置中local settings json存在于配置数据中 我可以使用 GetE
  • GlassFish v3 - 设置的可移植性

    有没有什么方法可以简单地将 GlassFish v3 0 1 服务器设置 即连接池 资源 领域 复制到另一个 GlassFish 这样就不需要手动设置它们 这样设置起来就会容易很多same开发环境 环境 NetBeans 6 9 Glass
  • 自修改 html-JavaScript 文件

    我想要一个带有 JavaScript 的 html 文件 该文件 文件 能够修改其上下文 更详细地说 我是这样想象的 我有一个 html 文件 我用浏览器打开它 我在那里有一个文本区域 我可以在其中输入文本并按提交按钮 因此 表单的上下文保
  • NSTextField成为FirstResponder在awakeFromNib中不起作用

    我想在表单加载时设置焦点 但它在 awakeFromNib 中不起作用 myTextField becomeFirstResponder 只是为了引用苹果文档 Use the NSWindow makeFirstResponder meth
  • Git receive.denyCurrentBranch update反而失败

    我是 git 的新手 没有任何版本控制系统的经验 我在本地进行开发 正在寻找一种比 FTP 更简单的方法来将文件部署到 LAMP Web 服务器 我很难将 Git Windows 版本 2 5 配置为在推送更改时自动更新其当前工作目录 这是
  • 使用Java的Runtime.exec()时如何添加超时值?

    我有一个用于在本地主机上执行命令的方法 我想向该方法添加一个超时参数 以便如果被调用的命令没有在合理的时间内完成 该方法将返回错误代码 这是到目前为止的样子 没有超时功能 public static int executeCommandLi
  • clang 的 include 优先级发生了什么?

    我的命令 usr bin c fPIC I Users me project include I usr local include opencv I usr local include I opt local include std c
  • 如何从日历中获取所有事件(Swift)

    我对 Swift 有点陌生 但真的很感兴趣 我想获取我存储在名为 工作 的日历中的所有事件 并将它们显示在表视图中 我一直在寻找这样的问题 但那里显示的代码似乎有点旧并且不能真正工作 我怎么做 tableView 应该能够显示标题 开始日期
  • 比较 object.Value = Null 不会产生预期结果

    所以我有一个令人沮丧的简单问题 但我似乎无法解决 If Me Bank Credit Value Null Then Me Bank Credit Value 0 End If 基本上 我有一个未绑定的框 用户可以在其中输入数据 然后单击按
  • toDateString() 减少我的日期

    对于以下代码 var d new Date 2013 07 01 console log d toDateString 它输出 Sun Jun 30 2013 比输入的时间少一天 物体发生了什么 实际存储的日期是什么 日期被解析为 UTC
  • 为什么模型绑定在我的 POST 操作方法中不起作用?

    我对 MVC 有一个非常奇怪的问题 我的模型总是提交为空 这可能真的很简单 但我就是找不到问题所在 我的模型看起来像这样 public class LoginModel public string Username public strin
  • 如何将 HiveQL 查询的结果输出到 CSV?

    我们希望将 Hive 查询的结果放入 CSV 文件中 我认为命令应该如下所示 insert overwrite directory home output csv select books from table 当我运行它时 它说它已成功完
  • 如何使用自定义IPasswordHasher?

    我实现了 IPasswordHasher public class MyPasswordHasher IPasswordHasher public string HashPassword string password using SHA2
  • Android Studio 像素化预览

    将 Android studio 更新到版本 3 1 2 后 出现预览图像像素化 模糊的问题 谁能帮我解决这个问题吗 这就是图像的渲染方式 我在 Android Studio 3 3 中遇到了同样的问题 但幸运的是我已经找到了解决方案 您必
  • C# 中两个列表相交

    我有两个清单 List
  • 是如何实现的?

    C 没有 据我所知 重载或模板 对吧 那么 在普通的 C 语言中如何存在一组与类型无关的同名函数呢 通常的编译时技巧会涉及一大堆宏 不是吗 关于它在 GCC 中如何工作有一个很好的解释here 另外 如果有人能解决中等难度的练习 我很想知道
  • 更快的排列生成器

    我为 Scala 列表编写了一个排列生成器 它生成给定列表的所有排列 到目前为止 我已经得到以下基于这个 Haskell 实现 我认为它比我尝试过的其他几个选项更有效 有什么方法可以提高效率 或者我已经涵盖了所有基础吗 For each e
  • 通过Curl/PHP查询API

    我正在查看 Parse com REST API 并使用 PHP 使用的 Curl 包装器进行调用 原始 Curl 代码 有效 curl X GET H X Parse Application Id myApplicationID H X