Jsoup交替使用给定的URL

时间:2018-01-03 11:13:22

标签: spring spring-boot jsoup

我使用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而不更改它?

谢谢:)

1 个答案:

答案 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标头中获取字符集