Доступ к URL на другом сайте с модели в рельсах
Я хочу получить доступ к URL-адресу другого веб-сайта с одной из моих моделей, проанализировать некоторую информацию и отправить ее обратно моему пользователю. Это возможно? Например, пользователь отправляет мне адрес через POST, и я хочу проверить информацию через сторонний веб-сайт (USPS или GMaps)
Какие методы я бы использовал для создания запроса и анализа ответа?
Это не редирект. Я хочу открыть новый запрос, прозрачный от клиента.
1 ответ
Решение
Есть много библиотек для обработки, таких как:
- HTTParty на http://github.com/jnunemaker/httparty
- Обуздать на http://curb.rubyforge.org/
- Покровитель на http://github.com/toland/patron
Пример использования патрона:
sess = Patron::Session.new
sess.timeout = 10
sess.base_url = "http://myserver.com:9900"
sess.headers['User-Agent'] = 'myapp/1.0'
resp = sess.get("/foo/bar")
if resp.status < 400
puts resp.body
end
Каждое решение имеет свой собственный способ обработки запросов и их анализа, а также варианты их API. Ищите то, что соответствует вашим потребностям лучше всего.