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

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

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

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

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

工作解决方案如下(感谢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做的诀窍:)