gpt4 book ai didi

java - java中如何将包含空格的url转换为有效的url?

转载 作者:行者123 更新时间:2023-11-30 04:02:11 25 4
gpt4 key购买 nike

我有一个链接,其中有一个空格,但是当我将其粘贴到浏览器时,它加载页面并且链接略有变化,以下是链接:

http://www.marketimyilmazlar.com/image/cache/data/DUZELTME/dvm/screenshot 7-500x500.jpg

但是当浏览器加载页面时,它会返回以下内容:

http://www.marketimyilmazlar.com/image/cache/data/DUZELTME/dvm/screenshot%207-500x500.jpg

这是我在java中所做的:

 public static Drawable LoadImageFromWeb(String link) throws URISyntaxException {
try {
URI uri = new URI(link);
URL url = new URL(uri.toASCIIString());
InputStream is = (InputStream) url.getContent();
Drawable d = Drawable.createFromStream(is, "src name");
return d;
} catch (IOException e) {
Log.e("HATA", "THERE is an error", e);
return null;
}
}

但问题是,我得到以下异常:

java.net.URISyntaxException: Illegal character in path at index 73:

那么,有人可以帮我解决这个问题吗?谢谢

最佳答案

java.net.URI 类可能可以在这里为您提供帮助 - 它的单参数构造函数期望参数是一个正确的 URI,并且转义了非法字符,但它的多参数构造函数可以处理未转义的部分。如果您的初始 URL 不包含任何 %-转义符,并且末尾没有 # 片段,那么您可以这样做

String escaped = new URI("dummy", unescaped, null).getRawSchemeSpecificPart();

这里的技巧是,三参数构造函数需要一个“方案”、一个“方案特定部分”和一个“片段”,所有这些都是非转义形式。因此,对于您在问题中的示例

new URI("dummy", unescaped, null)

将为您提供正确转义的 URI

dummy:http://www.marketimyilmazlar.com/image/cache/data/DUZELTME/dvm/screenshot%207-500x500.jpg

从该 URI 中提取原始 SSP 将为您提供第一个冒号之后的所有内容,即

http://www.marketimyilmazlar.com/image/cache/data/DUZELTME/dvm/screenshot%207-500x500.jpg

关于java - java中如何将包含空格的url转换为有效的url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21708783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com