【问题标题】:cURL GET topspin API - PHPcURL GET topspin API - PHP
【发布时间】:2013-03-31 18:33:55
【问题描述】:

我正在尝试与 PHP 中的 topspin API 进行交互。

在他们的网站上:

curl --data "auth_token=abc123&email=test@example.com&account_id=1&
acquired_by=curltest" http://api.artistlink.com/home/fans.json

如何在 PHP 中做到这一点?

我尝试过这样的事情:

$str= "?auth_token=blah&email=blah@blah.com&account_id=1&
acquired_by=curltest";

$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,'http://api.artistlink.com/home/fans.json'.$str);      curl_exec($ch);
curl_close($ch);

但我明白了:

发生了什么事?

【问题讨论】:

    标签: php curl get


    【解决方案1】:

    您需要使用CURLOPT_POSTFIELDS。试试这个:

    <?php
        $ch = curl_init('http://api.artistlink.com/home/fans.json');
        $data = "auth_token=blah&email=blah@blah.com&account_id=1&acquired_by=curltest";        
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        curl_exec($ch);
        curl_close($ch);
    ?>
    

    查看更多信息here

    【讨论】:

      【解决方案2】:

      您使用的是HTTP_GET 而不是HTTP_POST 试试:

      $str = "auth_token=blah&email=blah@blah.com&account_id=1&acquired_by=curltest";
      
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, 'http://api.artistlink.com/home/fans.json');
      curl_setopt($ch, CURLOPT_POSTFIELDS, $str);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
      $data = curl_exec($ch);
      curl_close($ch);
      
      $json = json_decode($data);
      if (isset($json->error)) {
          echo $json->error;
      } else {
          print_r($json);
      }
      

      【讨论】:

        猜你喜欢
        • 2015-07-31
        • 1970-01-01
        • 2020-09-07
        • 2013-09-10
        • 1970-01-01
        • 1970-01-01
        • 2015-10-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多