我使用spring boot和Jsoup来解析html页面。 我按如下方式连接页面:
try {
doc = Jsoup.connect(SOME_URL)
.userAgent("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36")
.referrer("http://www.google.com")
.timeout(5000)
.get()
} catch (IOException e) {
e.printStackTrace();
}
Jsoup更改了url参数:name=%F2%EE%E5%F1%20%FA%EE%ED
至:name=%25F2%25EE%25E5%25F1%2520%25FA%25EE%25ED
name参数是希伯来语字符,我将其转换为正确的字符, 如果我在Chrome中粘贴给定的网址就可以了,但是在我粘贴jsoup提供的网址之后它就没有了(我从元素库网址中取出它)
如何强制Jsoup连接到url而不更改它?
谢谢:)
答案 0 :(得分:1)
我用过:
url = new URL(SOME_URL);
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
inputStream = connection.getInputStream();
doc = Jsoup.parse(inputStream, null, WebUtils.WEB_BASE);
似乎null as参数导致Jsoup从html标头中获取字符集