我在项目中使用jsoup,但是我发现有时以下说明无法获取该文档:
Document document = Jsoup.connect(url).timeout(30000).get();
奇怪的是,使用浏览器,我可以在不到2秒的时间内打开url,而jsoup却存在此问题。另一个奇怪的是,在大多数情况下,jsoup都能很好地工作。
怎么了?
最佳答案
一些网站会查看连接浏览器的用户代理字符串,以确定要传递的内容。 Jsoup发送的用户代理可能不够清楚。所以我的建议是像这样使用用户代理:
Document document = Jsoup.connect(url)
.userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6")
.timeout(30000)
.get();
另一种可能性是Web服务器需要正确设置一些cookie。您需要查看浏览器和网站之间的确切流量,以了解更多信息。 (在浏览器开发模式下使用“网络”选项卡)
如果没有提供给您问题的URL,我担心这是我所能提供的所有建议。