我正在编写类似图像代理的东西,我从我的网站前端接收URL,然后我下载图像,重新调整大小,并返回较小的图像供前端和客户端从“代理”下载。 这意味着我需要处理各种url模式,这就是为什么我选择解码给定的url而不是使用URIUtils.decode对其进行编码:
private String fixUrl(String fromUrl) throws URIException {
fromUrl = URIUtil.decode(fromUrl);
fromUrl = URIUtil.encodeQuery(fromUrl);
return fromUrl;
}
这应该可以帮助我处理已编码的网址。 我的问题是一些网址是双重编码的,从我看到的,URIUtils.decode执行递归解码,这意味着在双重编码网址的情况下,我会得到一个不起作用的坏网址。
有一种简单的方法只能解码一次吗?
答案 0 :(得分:0)
我会尝试检查该网址是否仍包含字符%
。如果它不包含任何%
,则它不会被编码,您可以停止解码过程。