400 Ошибка использования file_get_contents на общедоступной конечной точке

Я пытаюсь получить доступ к этой конечной точке Coinbase API:

https://api.pro.coinbase.com/currencies

Обратите внимание, что конечная точка является общедоступной / не прошедшей проверку подлинности, а API документация подтверждает, что

$coinbase_coins = file_get_contents('https://api.pro.coinbase.com/currencies');
$coinbase_coins = json_decode($coinbase_coins, true);

Приведенный выше код выдает ошибку 400. Я дергаю себя за волосы, пытаясь понять это. Я могу получить доступ к конечной точке просто отлично в браузере. Я могу получить доступ к другим общедоступным конечным точкам в разных API, так что я не думаю, что это проблема на сервере.

Я также попробовал cURL без удачи.

Может кто-нибудь показать рабочий пример на PHP случайно? Спасибо!

0

Решение

Похоже, это проблема на стороне сервера; это блокировка запросов без браузера UA. Вы можете установить один, и, кажется, работает нормально.

$ctx = stream_context_create(["http"=>["user_agent"=>"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:63.0) Gecko/20100101 Firefox/63.0"]]);
$coinbase_coins = file_get_contents('https://api.pro.coinbase.com/currencies', true, $ctx);
$coinbase_coins = json_decode($coinbase_coins, true);

print_r($coinbase_coins);
4

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector