Jsoup超时没有获取数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jsoup超时没有获取数据相关的知识,希望对你有一定的参考价值。
我有以下代码行来使用jsoup获取html文档
Document doc = Jsoup.connect("http://nomads.ncep.noaa.gov/pub/data/nccf/com/hrrr/prod/hrrr.20180904/conus/")
.userAgent("Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0")
.header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
.header("Host", "nomads.ncep.noaa.gov")
.timeout(10*1000)
.get();
无论我使用什么标头,这都会超时。相同的网址:
http://nomads.ncep.noaa.gov/pub/data/nccf/com/hrrr/prod/hrrr.20180904/conus/
当我在Chrome或Firefox中打卡时,它可以正常运行。我在这里错过了什么?非常感谢所有的帮助。
答案
问题是,this site非常慢,平均加载需要30秒(你可以在浏览器中加载看到)。所以你需要在50秒左右放置超时。
这应该可以解决你的问题......
Document doc = Jsoup.connect("http://nomads.ncep.noaa.gov/pub/data/nccf/com/hrrr/prod/hrrr.20180904/conus/")
.userAgent("Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0")
.header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
.header("Host", "nomads.ncep.noaa.gov")
.timeout(50000)
.get();
以上是关于Jsoup超时没有获取数据的主要内容,如果未能解决你的问题,请参考以下文章