URI::InvalidURIError 尝试通过带方括号的 URL 下载
URI::InvalidURIError while trying to download by URL with square brackets
我正在尝试下载这张link的图片:
http://z.mfcdn.net/store/manga/9/14-116.0/compressed/Bleach-14-116[manga-rain]._manga_rain_bleach_ch116_01.jpg
这会产生一个 URI::InvalidURIError
异常。
在阅读 Stack Overflow 后,我尝试了(但失败了):
uri = URI.parse(URI.encode(url.strip))
safeurl = URI.encode(url.strip)
我知道这个问题与网络浏览器有关 "friendly" 但我不知道如何让我的应用程序做同样的事情。
这是一种处理 URL 中无效字符的 hack 方法:
u = 'http://z.mfcdn.net/store/manga/9/14-116.0/compressed/Bleach-14-116[manga-rain]._manga_rain_bleach_ch116_01.jpg'
fixed = u.gsub(/[\[\]]/) { '%%%s' % $&.ord.to_s(16) }
open(fixed)
那应该可以解决这个特殊问题。
我正在尝试下载这张link的图片:
http://z.mfcdn.net/store/manga/9/14-116.0/compressed/Bleach-14-116[manga-rain]._manga_rain_bleach_ch116_01.jpg
这会产生一个 URI::InvalidURIError
异常。
在阅读 Stack Overflow 后,我尝试了(但失败了):
uri = URI.parse(URI.encode(url.strip))
safeurl = URI.encode(url.strip)
我知道这个问题与网络浏览器有关 "friendly" 但我不知道如何让我的应用程序做同样的事情。
这是一种处理 URL 中无效字符的 hack 方法:
u = 'http://z.mfcdn.net/store/manga/9/14-116.0/compressed/Bleach-14-116[manga-rain]._manga_rain_bleach_ch116_01.jpg'
fixed = u.gsub(/[\[\]]/) { '%%%s' % $&.ord.to_s(16) }
open(fixed)
那应该可以解决这个特殊问题。