【问题标题】:how to make multiple api call at the same time?如何同时进行多个api调用?
【发布时间】:2021-11-01 09:56:35
【问题描述】:

CoinMarketCap Api 通过调用不同的链接提供大量数据。每次您拨打电话需要 1 个信用点数,当然,如果该呼叫返回 5,000 个硬币,则需要 25 个信用点数。所以,我不能每分钟都调用不同的链接。如何调用至少 4 个链接,例如:

  1. https://pro-api.coinmarketcap.com/v1/cryptocurrency/trending/latest
  2. https://pro-api.coinmarketcap.com/v1/cryptocurrency/trending/gainers-losers
  3. https://pro-api.coinmarketcap.com/cryptocurrency/listings/latest?limit=5000
  4. https://pro-api.coinmarketcap.com/v2/cryptocurrency/info

这是 CoinMarketCap 提供的代码,它可以工作(经过测试):

   $url = 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest';
   $parameters = [
     'start' => '1',
     'limit' => '5000',
     'convert' => 'USD'
    ];

     $headers = [
    'Accepts: application/json',
    'X-CMC_PRO_API_KEY: *********-****-****-****-***********'
     ];
     $qs = http_build_query($parameters); // query string encode the parameters
     $request = "{$url}?{$qs}"; // create the request URL


      $curl = curl_init(); // Get cURL resource 
       //Set cURL options
       curl_setopt_array($curl, array(
       CURLOPT_URL => $request,            // set the request URL
       CURLOPT_HTTPHEADER => $headers,     // set the headers 
       CURLOPT_RETURNTRANSFER => 1         // ask for raw response instead of bool
      ));

      $response = curl_exec($curl); // Send the request, save the response
      print_r(json_decode($response)); // print json decoded response
      curl_close($curl); // Close request

【问题讨论】:

  • multi_curl ?一个例子here
  • 问题:我必须使用 KEY...每次我拨打电话...它都会向我收取 1 个信用...如果我使用 curl_multi...它会拨打不同的电话吗?或者无论我有多少个端点,它都算作 1 个学分?或作为每个信用的网址数?

标签: php api url coinmarketcap


【解决方案1】:

您可以使用 curl_multi_init 异步处理多个 curl 请求。 you can read here more about multi curl

【讨论】:

  • 如何修改我的代码以使其与 multi_curl 一起使用?我正在实现此代码:webkul.com/blog/simultaneous-curl-requests-in-php 仍然无法正常工作 =/
  • 问题:我必须使用 KEY...每次我拨打电话...它都会向我收取 1 个信用...如果我使用 curl_multi...它会拨打不同的电话吗?或者无论我有多少个终点,它都算作 1 个学分?或作为每个信用的网址数?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-06
  • 2019-11-16
相关资源
最近更新 更多