@IsaevAlex
Веб разработчик

Как вставить переменную в url адрес?

Всем привет) Ребят делаю запрос наподобие https://music.yandex.ru/search?text=sia. Как вместо слова sia вставить переменную. Допустим

a = "sia"
uri = URI.join('https://music.yandex.ru/search?text=', a)
response = Net::HTTP.get(uri)
puts JSON.parse(response)

Хочу сделать Json parse страницы. А так не работает. Всем спасибо)
  • Вопрос задан
  • 283 просмотра
Решения вопроса 1
shurik_sh
@shurik_sh
Начинающий программист
URI умный, и убрал все лишнее оставив только хост и приклеил ему /sia.
В вашем случае лучше воспользоваться интерполяцией, вот так
a = 'sea'
URI("https://music.yandex.ru/search?text=#{a}")
#=> #<URI::HTTPS https://music.yandex.ru/search?text=sea>


Или сделать вот так:
uri = URI('https://music.yandex.ru/search')
params = { :text => 'пятница' }
uri.query = URI.encode_www_form(params)
res = Net::HTTP.get_response(uri)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы