0

代碼:紅寶石的Net :: HTTP不能得到正確的URL

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>

它的駕駛我堅果 - 任何想法?

回答

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 

紅寶石不能在那裏找到一個協議,所以它假定它是一個通用的URI而不是HTTP-URI。只有HTTP-URI有一個request_uri方法。

您必須手動修復該URI,將<替換爲%3C,通過str.replace