2

我正在使用 open-uri 从网络上的页面获取内容以与 nokogiri 一起使用。我正在尝试类似的东西:

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" 响应 = 打开(网址)

然后我得到错误: URI::InvalidURIError: bad URI(is not URI?)

问题是:我知道我可以使用 URI.encode(url) 来防止 url 中出现一些特殊字符,但是当我清理 url 时,我请求的网站没有给我相同的响应,它没有回答正确使用 '%22' 而不是双引号时..

如何使用双引号提出这样的请求?还有其他图书馆可以做到吗?Open-uri 不接受这一点。我尝试使用 gems addressable-uri 并吃掉,但两者都出现相同的错误。:/

4

1 回答 1

4
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"
于 2013-09-11T04:32:14.040 回答