【问题标题】:Using special characters in open-uri requests在 open-uri 请求中使用特殊字符
【发布时间】:2013-09-14 22:29:41
【问题描述】:

我正在使用 open-uri 从 Web 页面获取内容以与 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 并吃掉,但两者都出现相同的错误。 :/

【问题讨论】:

    标签: ruby http uri open-uri


    【解决方案1】:
    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-06-19
      • 2021-03-29
      • 2012-01-16
      • 1970-01-01
      • 2013-12-11
      • 2021-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多