Coinmarketcap PHP API 没有返回数据
Coinmarketcap PHP API no data returned
只是通过 API 获取一些数据的简单测试是行不通的。我使用了他们自己网站上的 PHP 示例,但没有打印任何结果。资料来源:https://pro.coinmarketcap.com/api/v1#section/Quick-Start-Guide
我做错了什么吗?我将沙箱环境与演示 API 密钥一起使用。
Curl 安装在我的服务器上。非常感谢!
<?php
$url = 'https://sandbox-api.coinmarketcap.com/v1/cryptocurrency/listings/latest';
$parameters = [
'start' => '1',
'limit' => '5000',
'convert' => 'USD'
];
$headers = [
'Accepts: application/json',
'X-CMC_PRO_API_KEY: b54bcf4d-1bca-4e8e-9a24-22ff2c3d462c'
];
$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
?>
当我 var_dump($response)
我得到:
error code: 1020
这是由于 API 检测到 bot/script。
考虑添加用户代理:
PHP cURL how to add the User Agent value OR overcome the Servers blocking cURL requests?
curl_setopt_array($curl, array(
CURLOPT_URL => $request,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0'
));
现在,脚本输出:
stdClass Object
(
[status] => stdClass Object
(
[timestamp] => 2021-08-30T15:06:20.200Z
[error_code] => 0
[error_message] =>
[elapsed] => 0
[credit_count] => 1
[notice] =>
)
[data] => Array
... and a lot more ...
只是通过 API 获取一些数据的简单测试是行不通的。我使用了他们自己网站上的 PHP 示例,但没有打印任何结果。资料来源:https://pro.coinmarketcap.com/api/v1#section/Quick-Start-Guide 我做错了什么吗?我将沙箱环境与演示 API 密钥一起使用。 Curl 安装在我的服务器上。非常感谢!
<?php
$url = 'https://sandbox-api.coinmarketcap.com/v1/cryptocurrency/listings/latest';
$parameters = [
'start' => '1',
'limit' => '5000',
'convert' => 'USD'
];
$headers = [
'Accepts: application/json',
'X-CMC_PRO_API_KEY: b54bcf4d-1bca-4e8e-9a24-22ff2c3d462c'
];
$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
?>
当我 var_dump($response)
我得到:
error code: 1020
这是由于 API 检测到 bot/script。
考虑添加用户代理:
PHP cURL how to add the User Agent value OR overcome the Servers blocking cURL requests?
curl_setopt_array($curl, array(
CURLOPT_URL => $request,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0'
));
现在,脚本输出:
stdClass Object
(
[status] => stdClass Object
(
[timestamp] => 2021-08-30T15:06:20.200Z
[error_code] => 0
[error_message] =>
[elapsed] => 0
[credit_count] => 1
[notice] =>
)
[data] => Array
... and a lot more ...