红宝石:URI :: InvalidURIError(URI必须是ASCII只
问题描述:
require 'uri'
uri = URI.parse 'http://dxczjjuegupb.cloudfront.net/wp-content/uploads/2017/10/Оуэн-Мэтьюс.jpg'
的浏览器在使用http://dxczjjuegupb.cloudfront.net/wp-content/uploads/2017/10/Оуэн-Мэтьюс.jpg所以我问自己,如果这个Ruby类是一点点过时没有问题,我应该彻底放弃,或做一些?错误处理...红宝石:URI :: InvalidURIError(URI必须是ASCII只
答
只是问自己的问题来找我的答案是:
begin
uri = URI.parse(url)
rescue URI::InvalidURIError
uri = URI.parse(URI.escape(url))
end
仅仅因为你的浏览器隐含URL编码URL并不意味着红宝石会做同样的在Ruby中,你不得不这样做。明确地对URL进行编码 – spickermann