2013-09-11 2 views
2

Я использую open-uri для получения контента со страницы в Интернете, которая будет использоваться с nokogiri. Я пытаюсь что-то вроде:Использование специальных символов в запросах open-uri

URL = "http://pesquisa.bvsalud.org/portal/?output=site&lang=pt&from=0&sort=&format=summary&count=20&fb=&page=1&q= \" QUALIDADE + де + VIDA \ "& индекс = Тд" ответ = открыт (URL)

Тогда я получаю ошибку: URI :: InvalidURIError: bad URI (не URI?)

Уловка: Я знаю, что могу использовать URI.encode (url) для предотвращения появления некоторых специальных символов в URL-адресе, но веб-сайт, который я запрашиваю, не дает мне тот же ответ, когда я дезинфицирую URL, он не отвечает правильно при использовании «% 22» вместо двойных котировок.

Как я могу сделать такой запрос, используя двойные кавычки? Любая другая библиотека, которая может это сделать? Open-uri этого не принимает. Я попытался использовать драгоценные камни addressable-uri и поесть, но я получаю ту же ошибку на обоих. :/

ответ

3
URI.encode('http://pesquisa.bvsalud.org/portal/?output=site&lang=pt&from=0&sort=&format=summary&count=20&fb=&page=1&q=\"qualidade+de+vida\"&index=tw') 
=> "pesquisa.bvsalud.org/portal/?output=site&lang=pt&from=0&sort=&format=summary&count=20&fb=&page=1&q=%5C%22qualidade+de+vida%5C&index=tw"