Author

Topic: BTC-E.com public API и вызов из javascript (Read 1453 times)

Dex
newbie
Activity: 52
Merit: 0
Не. Через php не нужно. В принципе это понятно как сделать.

Весь вопрос был именно в получении через javascript, например, через jQuery ($.getJSON).
Биржа не выдаёт Allow-Origin, поэтому браузер не хочет пропускать GET запрос со страницы.
Если пробовать через jsonp (добавляя callback=?), запрос проходит, но парсер jQuery спотыкается
на получаемом формате и тоже вываливается с ошибкой. Плюс сами данные приходят не как
application/json, а как text/html

Пока нашёл три способа:
1) Отключать в браузере проверку ориджина (через флаг -disable-web-security)
2) Использовать сторонние сервера по прокидыванию jsonp запросов (то, что ты предлагаешь, но общедоступное,
а не свой велосипед)
3) Поставить расширение для Хрома, которое перехватывает все запросы и добавляет заголовок Allow-Origin

Т.к. у меня Хром, пока пользуюсь третьим вариантом, как самым простым.
Но Хром не у всех, а в ФФ такой финт сделать не получится.

Всё ещё ищу решение.
Может проще в тикер поддержки биржи написать?
legendary
Activity: 1120
Merit: 1069
На своем сервере сделай что-то типа :
Code: (php)
echo file_get_contents('https://btc-e.com/api/2/btc_rur/ticker'); ?>
Или соригинальничай (может не сработать)
Code: (php)
('Location: https://btc-e.com/api/2/btc_rur/ticker'); ?>

p.s. осторожно с универсализацией этого примера, например не нужно запихивать адрес для редиректа в http запрос напрямую, либо контролировать его, лимитируя по списку, чтобы не было возможности DDOS-ить btc-e через ваш сервер.
Dex
newbie
Activity: 52
Merit: 0
Добрый день!

Подскажите, вот есть у биржи апи:
https://btc-e.com/api/2/btc_rur/ticker

выдает JSON данные.

Вопрос, как можно получить эти данные из javascript на вебстранице?

Хром ругается, что сервер не выдаёт заголовок Origin, поэтому запрос сделан не будет
(пробовал со страницы с диска и полученную с хостинга).

Что-то посмотрел про JSONP, но API не делает обертку ни на json=, ни на callback=

Это у меня руки не из того места растут или в принципе через javascript и вебстраницу в Хроме вытащить нельзя?
Jump to: