【问题标题】:Ruby Net::HTTP can't get url rightRuby Net::HTTP 无法正确获取 url
【发布时间】:2012-01-07 02:54:32
【问题描述】:

代码:

self.response = Net::HTTP.get_response(URI.parse(url.strip))

网址:

http://www.apmebf.com/g7116vpyxF/pw0/EDDEGMFH/EGJFDKJ/D/D/D?h=q<<lxxt%3A%2F%2F000.htfspz0.rix%3AC4%2Fgpmgo-57A64BA-54457D68<<K<<

给出这个错误:

bad URI(is not URI?)

我尝试使用URI.encode,但它抛出了这个错误:

undefined method `request_uri' for #<URI::Generic:0x007fc7ae31ecf0>

这让我发疯了——有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 net-http


    【解决方案1】:

    如果你对你得到的 URL 进行 urlencode

    http%3A%2F%2Fwww.apmebf.com%2Fg7116vpyxF%2Fpw0%2FEDDEGMFH%2FEGJFDKJ%2FD%2FD%2FD%3Fh%3Dq%3C%3Clxxt%253A%252F%252F000.htfspz0.rix%253AC4%252Fgpmgo-57A64BA-54457D68%3C%3CK%3C%3C
    

    Ruby 在其中找不到协议,因此它假定它是通用 URI 而不是 HTTP-URI。只有 HTTP-URI 有 request_uri 方法。

    您必须通过str.replace< 替换为%3C 手动修复该URI。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-19
      • 1970-01-01
      • 2017-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-09
      相关资源
      最近更新 更多