当apache.httpclient能够获取内容时,JSoup.connect会抛出403错误

时间:2012-04-12 09:24:50

标签: java html-parsing jsoup

我正在尝试解析任何给定页面的HTML转储。我使用HTML Parser并尝试JSoup进行解析。

我在Jsoup中找到了有用的函数,但是在调用Document doc = Jsoup.connect(url).get();

时遇到403错误

我尝试了HTTPClient,获取了html转储,并且在同一个网址上成功了。

为什么JSoup为同一个URL提供403,它提供来自公共http客户端的内容? 难道我做错了什么?有什么想法吗?

1 个答案:

答案 0 :(得分:47)

工作解决方案如下(感谢Angelo Neuschitzer提醒将其作为解决方案):

Document doc = Jsoup.connect(url).userAgent("Mozilla").get();
Elements links = doc.getElementsByTag(HTML.Tag.CITE.toString);
for (Element link : links) {
            String linkText = link.text();
            System.out.println(linkText);
}

所以, userAgent 可以解决问题:)