2013-09-11 2 views
2

J'utilise open-uri pour obtenir du contenu d'une page sur le web à utiliser avec nokogiri. Je essaie quelque chose comme:Utilisation de caractères spéciaux dans les requêtes open-uri

url = "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" réponse = open (url)

Puis-je obtenir l'erreur: URI :: InvalidURIError: URI incorrect (n'est pas URI?)

La capture est: Je sais que je peux utiliser URI.encode (url) pour empêcher certains caractères spéciaux dans l'URL, mais le site Web que je demande ne me donne pas la même réponse quand je désinfecte l'url, il ne répond pas correctement en utilisant '% 22' au lieu de guillemets doubles.

Comment puis-je faire une telle demande en utilisant des guillemets doubles? Toute autre bibliothèque qui peut le faire? Open-uri n'accepte pas cela. J'ai essayé d'utiliser les gemmes adressables-uri et de manger, mais j'ai la même erreur sur les deux. :/

Répondre

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"