一个简单的cURL请求

时间:2015-11-20 17:20:37

标签: curl

请原谅我,如果它太基本但我用其他语言编程。 所以我有Parse.com API,我正在成功发送请求:

  $url = 'https://api.parse.com/1/classes/USERS';  
    $headers = array(  
   "Content-Type: application/json",  
   "X-Parse-Application-Id: " . $appId,  
   "X-Parse-REST-API-Key: " . $restKey  
 );  
 $rest = curl_init();  
 curl_setopt($rest,CURLOPT_URL,$url);  
 curl_setopt($rest,CURLOPT_GET,1);  
 curl_setopt($rest,CURLOPT_HTTPHEADER,$headers);  
 curl_setopt($rest,CURLOPT_SSL_VERIFYPEER, false);  
 curl_setopt($rest,CURLOPT_RETURNTRANSFER, true);  
 $response = curl_exec($rest);  
 $json = json_decode($response, true);

然后我想为它添加一些约束,所以根据他们的API添加约束你做:

curl -X GET \
  -H "X-Parse-Application-Id: XXXXXXXXXXXXX" \
  -H "X-Parse-REST-API-Key: YYYYYYYYYYYYYY" \
  -G \
  --data-urlencode 'where={"playerName":"Sean Plott","cheatMode":false}' \
  https://api.parse.com/1/classes/USERS

所以,我想了解如何将此"where"字段放入我上面显示的现有请求中? (-G在这里意味着什么?)

1 个答案:

答案 0 :(得分:1)

来自cURL手册:

  

-G, - get

     

使用时,此选项将使用-d指定所有数据,   --data, - data-binary或--data-urlencode将在HTTP GET请求中使用,而不是否则将使用的POST请求。该   数据将通过'?'添加到网址中。分离器。

     

如果与-I组合使用,则会追加POST数据   带有HEAD请求的URL。

     

如果多次使用此选项,则仅使用第一个选项。这个   是因为撤消GET没有意义,但是你应该这样做   而是强制执行您喜欢的替代方法

所以PHP的等价物是:

$params = 'where={"playerName":"Sean Plott","cheatMode":false}';
$url    = 'https://api.parse.com/1/classes/USERS?' . urlencode($params);