在 PHP 中使用 CURL 调用 JSON RPC 2.0 API - Changelly API
Posted
技术标签:
【中文标题】在 PHP 中使用 CURL 调用 JSON RPC 2.0 API - Changelly API【英文标题】:JSON RPC 2.0 API Call using CURL in PHP - Changelly API 【发布时间】:2017-09-19 09:55:19 【问题描述】:我正在尝试使用以下代码调用 changelly API,但它返回“未经授权”作为响应。
如果有人可以帮助识别我在下面的代码中所犯的错误。
$API_URL = 'https://api.changelly.com';
$API_KEY = 'XXXXX';
$API_SECRET = 'XXXXX';
$message = array();
$message['jsonrpc'] = '2.0';
$message['method'] = 'getMinAmount';
$message['params'] = array('from' => 'BTC', 'to' => 'LTC');
$message['id'] ='12345';
$data = json_encode($message);
$sign = hash_hmac('SHA512', $data, $API_SECRET);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $API_URL);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_GET, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept: application/json",'Authorization:api-key: '.$API_KEY.':sign: '.$sign));
$final_result = curl_exec($ch);
curl_close($ch);
echo '<pre>';
print_r($final_result);
Changelly API 指南位于https://changelly.com/developers
谢谢
【问题讨论】:
我认为您需要在 HTTPHEADER 中设置 'Content-type': 'application/json' 而不是“Accept: application/json”。不确定! @RamaKrishna 这也无济于事。这与 JSON RPC 2.0 有关,所以我怀疑它是否与符号变量有关 【参考方案1】:在您的代码中,您的标题集错误。
请查看此示例:https://github.com/changelly/changelly-examples/blob/master/php/example.php,希望对您有所帮助。
【讨论】:
以上是关于在 PHP 中使用 CURL 调用 JSON RPC 2.0 API - Changelly API的主要内容,如果未能解决你的问题,请参考以下文章
Curl 和 PHP - 如何通过 curl 通过 PUT、POST、GET 传递 json