Клуб API Карт

400 Bad Request при серверном запросе.

Пост в архиве.

Добрый день.

Пытаюсь получить инфу от Яндекса, делая серверный GET-запрос с параметрами типа

{'format' => 'json', 'geocode' => 'Moskva Kutuzovskiy 3'}

, как сказано тут.

 

Но в итоге получаю:

Net::HTTPBadRequest 400 Bad Request readbody=true

 

Делая тот же запрос в браузере – всё хорошо, получаю нужный JSON.

В чем может быть проблема? Для серверных запросов требуется API-ключ?

5 комментариев

 

Для серверных запросов требуется API-ключ?

нет всё должно работать без ключа

 

чего тогда не хватает? может заголовки какие-то особенные должны быть? :/

попробуйте скопировать броузерные

у меня работало итак правда это был не руби, а NodeJS

Sergey Konstantinov
28 января 2016, 03:22

Вполне вероятно, достаточно просто заэскейпить параметры.

всем спасибо за внимание, всё гораздо проще чем я думал.

для Ruby такой код работает:

 

 

 

uri = URI(URI.escape(url))

Net::HTTP.get(uri)

где url – линк из документации с нужым адресом:

 

http://geocode-maps.yandex.ru/1.x/?format=json&geocode=Москва, улица Новый Арбат, дом 24