Здравствуйте!
Пытаюсь на локальном сервере (WAMP) протестировать работу api методов, требующих верификацию (пробовал с реального сайта на хостинге запускать - там все работает).
Тестирую данный скрипт биржы
https://www.livecoin.net/api/examples#php
Второй пример по ссылке, где $url = "
https://api.livecoin.net/exchange/client_orders";
Привожу данный код и тут
$url = "https://api.livecoin.net/exchange/client_orders";
$apiKey = "gJx7Wa7qXkPtmTAaK3ADCtr6m5rCYYMy";
$secretKey = "8eLps29wsXszNyEhOl9w8dxsOsM2lTzg";
$params = array(
'currencyPair'=> 'BTC/USD'
);
ksort($params);
$fields = http_build_query($params, '', '&');
$signature = strtoupper(hash_hmac('sha256', $fields, $secretKey));
$headers = array(
"Api-Key: $apiKey",
"Sign: $signature"
);
$ch = curl_init($url."?".$fields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($statusCode!=200) {
//dump info:
echo "Status code: $statusCode, response: $response";
//throw new Exception('Can not execute the query!');
}
var_dump(json_decode($response));
По сути, если запускать его с какого-либо сайта на хостинге, то выдает либо json-массив с различными параметрами, либо, если не верно заданы $apiKey и $secretKey, то такой же json-массив с ошибкой
Status code: 400, response: {"success":false,"errorCode":1,"errorMessage":"For authorization must specify the api kei and signature"}
У меня же при запуске с localhost выдает и с верными и с не верными $apiKey и $secretKey всегда только один ответ
Status code: 0, response: null
Погуглил и нашел, что так обычно и бывает, что методы требующие верификации работать не будут, что для работы нужно создать свой виртуальный хостинг.
Создал такой - api.dev
Добавил в hosts
127.0.0.1 api.dev
127.0.0.1 www.api.dev
Изменил файлы
httpd.conf и httpd-vhosts.conf
В httpd.conf строка Include conf/extra/httpd-vhosts.conf должны быть разкомментирована.
В httpd-vhosts.conf добавил такой код
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "c:/wamp64/www"
ServerName localhost
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "c:/wamp64/www/api.dev"
ServerName api.dev
<directory "c:/wamp64/www/api.dev">
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</directory>
</VirtualHost>
Вирт Хост создан api.dev открывается и работает, но ответ все тот же
Status code: 0, response: null
При этом все методы к публичным дынным, не требующие ключей, работают на локалке хорошо
https://www.livecoin.net/api/userdata
Подскажите куда еще копать, что еще можно попробовать?