加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

通过Curl / PHP查询API

发布时间:2020-12-14 02:22:14 所属栏目:Linux 来源:网络整理
导读:我正在查看Parse.com REST API并使用 PHP使用的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代码(有效)
我正在查看Parse.com REST API并使用 PHP使用的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 -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,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,array(
        'X-Parse-Application-Id: myApplicationID','Content-Type: application/json'
    )
);
curl_setopt($ch,1);

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读