【问题标题】:Doing a push call using CURL in PHP to an api在 PHP 中使用 CURL 对 api 进行推送调用
【发布时间】:2013-07-05 21:14:30
【问题描述】:

我是 API 调用的新手

我需要在 PHP 中执行以下 CURL 调用:链接到 API 文档http://dev.ducksboard.com/apidoc/tutorial/#overview

curl -v -u APIKEY:x -d '{"value": 10}' https://push.ducksboard.com/values/235

我有以下更新的代码(但不工作):

 <?php


$postData = array('value' => 10);


$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://push.ducksboard.com/v/*****');
curl_setopt($ch, CURLOPT_USERPWD, "000000000000000");
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
 curl_setopt($ch, CURLOPT_POST, true); 

  $result=curl_exec ($ch);
  curl_close ($ch);
  echo $result;
?>

【问题讨论】:

    标签: php html ajax api curl


    【解决方案1】:

    您需要传递值CURLOPT_POSTFIELDS

    $postData = array('value' => 10);
    curl_setopt($ch, CURLOPT_USERPWD, "APIKEY:0000000");
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData)); 
    

    还将CURLOPT_POST 设置为true

    curl_setopt($ch, CURLOPT_POST, true); 
    

    【讨论】:

    • 试过了,现在还在工作,如果你可以看一下,在帖子中更新了我的代码
    • 为什么有两个curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData)); 去掉第一个
    【解决方案2】:

    api 想要一个将被忽略的密码,下面是工作代码

    <?php
    
    
    // encode the json object
    $postData = json_encode(array('value' => 22));
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://push.ducksboard.com/v/address');
    curl_setopt($ch, CURLOPT_USERPWD, "0000000000000000000000:IGNORED");
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
    curl_setopt($ch, CURLOPT_POST, true);
    
    $result=curl_exec ($ch);
    curl_close ($ch);
    echo $result;
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多