代码:
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>
这让我疯狂 - 任何想法?
答案 0 :(得分:1)
如果您对您获得的网址进行了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
方法。
您必须通过<
将%3C
替换为str.replace
来手动修复该URI。