我在网页上解析一些链接, 然后测试这些链接是否存在。 我正在将解析链接字符串转换为 uri s, 问题在于有些链接已经有以下编码字符 : < a href="http://download.microsoft.com/download/6/3/c/63c1d527- 9d7e-4fd6-9867- fd063203660660/kinect_qsg_bndl_en-fr-es.pdf" rel="no follown" >http://dload.microsoft.com/dload/6/3/c63c1d527-9d7e-4d6-9867-fd06660660/kinect_qsg%20premium_bndl_en-fr-es.pdf < a>
当我通过下面的代码时,我得到:http://dload.micload.com/download/6/c/63c1d527-9d7e-4fd6-9867-fd063206660/kinect_qsg%2520 premium_bndl_en-fr-es.pdf
您可以看到哪些编码是% 20 。 我如何避免? 我应该先解码我的字符串吗? 如果是这样, 这样做的最佳方法是什么?
URL url = null;
URI uri = null;
try {
url = new URL(checkUrl);
} catch (MalformedURLException e1) {
e1.printStackTrace();
}
try {
uri = new URI(url.getProtocol(), url.getAuthority(), url.getPath(), url.getQuery(), url.getRef());
} catch (URISyntaxException e1) {
e1.printStackTrace();
}