【问题标题】:CURL php query formation - how to?CURL php 查询形成 - 如何?
【发布时间】:2011-12-07 05:36:12
【问题描述】:

我正在尝试通过 PHP 形成以下 CURL 发布请求?我该怎么做,我尝试的所有内容都以无效的帖子参数返回。

这就是我试图通过 php 发布的内容(我有 API_KEY、api_sig .. 但不知道如何在 PHP 中通过以下方式进行发布查询):

卷曲 -d "api_key=KEY&sig=SIGNATURE&time_stamp=20&json=1" \ http://api.i.com/v1/update/

【问题讨论】:

  • 看起来像是对 curl 的直接 shell 调用。使用 PHP 的 curl 库查看 basic curl example。您可以将数据对发送为CURLOPT_POSTFIELDS
  • $ch = curl_init("api.iq.com/v1/update/"); $fp = fopen("response.txt", "d"); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch , CURLOPT_HEADER, 0); 像上面一样?我不知道如何在 PHP 中做到这一点 - 因此我的问题 :)

标签: php api post curl


【解决方案1】:

这应该可以工作

$url = "http://api.iq.com/v1/update/";
$data = "api_key=API_KEY&api_sig=SIGNATURE&time_stamp=20090612111832&json=1";

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST ,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); /* obey redirects */
curl_setopt($ch, CURLOPT_HEADER, 0);  /* No HTTP headers */
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  /* return the data */

$result = curl_exec($ch);

curl_close($ch);

【讨论】:

    【解决方案2】:

    将所有内容放在一行中:

    curl -d "api_key=API_KEY&api_sig=SIGNATURE&time_stamp=20090612111832&json=1" http://api.iq.com/v1/update/
    

    例如使用exec() 运行它

    exec("curl -d \"api_key=API_KEY&api_sig=SIGNATURE&time_stamp=20090612111832&json=1\" http://api.iq.com/v1/update/", $results);
    

    $results 保存返回的数据。

    【讨论】:

      【解决方案3】:

      请参考以下PHP代码

       define('POSTURL', 'http://api.iq.com/v1/update/');
       define('POSTVARS', 'api_key=API_KEY&api_sig=SIGNATURE&time_stamp=20090612111832&json=1');  //removed typo
       $ch = curl_init(POSTURL);
       curl_setopt($ch, CURLOPT_POST  ,1);
       curl_setopt($ch, CURLOPT_POSTFIELDS ,POSTVARS);
       curl_setopt($ch, CURLOPT_RETURNTRANSFER  ,1);  // RETURN THE CONTENTS OF THE CALL`
       $Rec_Data = curl_exec($ch);`
       curl_close($ch);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-04
        • 2021-11-19
        • 2014-01-15
        • 2012-07-23
        • 1970-01-01
        • 2016-05-08
        相关资源
        最近更新 更多