JSoup获取带有特殊字符的图像的绝对url
我正在使用 JSoup 和 Android 从某些网站获取图像 url,但某些 url 包含特殊字符,例如 (é,è,à...) 示例:
http://www.mysite.com/détail du jour.jpg
element.attr("abs:src") 返回与上面相同的 url
到目前为止,检索 url 没有问题,但是当我提交这个网址下面的代码返回找不到文件(我从互联网上的示例中获取了此函数):
public Object fetch(String address) throws MalformedURLException,IOException {
try {
URL url = new URL(address);
Object content = url.getContent();
return content;
} catch (Exception e) {
return null;
}
}
我认为问题出在 url 格式中,因为当我在 google chrome 中获取图像的真实地址时:
http://www.mysite.com/d%C3%A9tail%20du%20jour.jpg
并在代码中提交,如下所示: URL url = 新 URL("http://www.mysite.com/d%C3%A9tail%20du%20jour.jpg");
图像加载正确,那么如何从 JSoup 获取这个格式化的 url?
谢谢
i am working with JSoup and Android to get image urls from some site but some urls contains special characters like (é,è,à...) example :
http://www.mysite.com/détail du jour.jpg
the element.attr("abs:src") returns the same url as above
till now no problem to retrieve the url but when i submit this url in the code below it returns file not found (i grabbed this function from an example on the internet) :
public Object fetch(String address) throws MalformedURLException,IOException {
try {
URL url = new URL(address);
Object content = url.getContent();
return content;
} catch (Exception e) {
return null;
}
}
i think the problem is in the url format because when i get the real address of the image in google chrome :
http://www.mysite.com/d%C3%A9tail%20du%20jour.jpg
and submit it in the code like :
URL url = new URL("http://www.mysite.com/d%C3%A9tail%20du%20jour.jpg");
the image loads correctly so how to get this formatted url from JSoup?
thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要使用
URLEncoder
从 JSoup 中提取 url。类似于:
URL url = new URL(URLEncoder.encode(address));
之间的空格将被特殊字符值 %something 替换
You need to use
URLEncoder
for the extracted url from the JSoup.Something like:
URL url = new URL(URLEncoder.encode(address));
The spaces between will be replaced with special character values %something