#php #html #json #api
#php #HTML #json #API
Вопрос:
может кто-нибудь из вас сказать мне, что я делаю не так? Я использую пример кода из документации API (https://github.com/bitmarket-net/api ). JSON ничего не возвращает. Я только добавляю echo bitmarket_api("info");
и заменяю открытые и закрытые ключи ( $key
$secret
).
<html>
<body>
<?php
function bitmarket_api($method, $params = array())
{
$key = "xxxxxxxxx";
$secret = "xxxxxxxxx";
$params["method"] = $method;
$params["tonce"] = time();
$post = http_build_query($params, "", "amp;");
$sign = hash_hmac("sha512", $post, $secret);
$headers = array(
"API-Key: " . $key,
"API-Hash: " . $sign,
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, "https://www.bitmarket.pl/api2/");
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$ret = curl_exec($curl);
return json_decode($ret);
}
echo bitmarket_api("info"); // line 30
?>
</body>
</html>
Редактировать
После решения проблемы SSL функция возвращает true, и у меня ошибка
‘ Уловимая неустранимая ошибка: объект класса stdClass не удалось преобразовать в строку в C:xampphtdocsindex1.php в строке 30’
правка решена. Я создаю новый объект и добавляю echo в метод.Спасибо всем за помощь 🙂
Комментарии:
1. вы не потрудились проверить наличие сбоя. curl_exec возвращает логическое значение false при сбое, а не вывод URL-адреса, который вы нажали. затем вы слепо декодировали все, что БЫЛО возвращено, логическое значение false не является допустимым json, поэтому вы также получаете false, возвращаемое при декодировании, а логическое значение false выводится в виде строки нулевой длины / невидимой строки.
if ($ret === false) { die(curl_error($curl));
иdie(json_last_error())
-введите материал
Ответ №1:
Написать
echo bitmarket_api("info") ? "TRUE" : "FALSE";
и вы увидите, возвращается ли что-то