如何使用Jsoup获取包含非ASCII字符(±,...)的URL?

时间:2015-06-01 18:11:05

标签: java jsoup

我正在使用jsoup来解析一些波兰网站,但是我在URL(!)中遇到像“ą”,“ś”这样的特殊字符的问题,例如example.com/kąt被称为example.com/k < / p>

没有这个特殊字符的每个查询都能正常运行

我尝试了Document doc = Jsoup.parse(new URL(url).openStream(), "ISO-8859-1", url),但它不起作用。

任何其他提示?

1 个答案:

答案 0 :(得分:4)

  

您希望在>将URL传递给Jsoup之前对您的网址进行编码。

示例代码

String url = "http://sjp.pl/maść";       
System.out.println("BEFORE " + url);

String encodedURL = URI.create(url).toASCIIString();
System.out.println("AFTER " + encodedURL);

System.out.println("Title: " + Jsoup.connect(encodedURL).get().title());

输出

 BEFORE http://sjp.pl/maść
 AFTER http://sjp.pl/ma%C5%9B%C4%87
 Title: maść - Słownik SJP

法语区域设置
Jsoup 1.8.3