Тайм-ауты Jsoup без выборки данных - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть следующая строка кода для получения HTML-документа с помощью jsoup

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();

Это время вне зависимости от того, какие заголовки я использую. Тот же URL:

http://nomads.ncep.noaa.gov/pub/data/nccf/com/hrrr/prod/hrrr.20180904/conus/

работает совершенно нормально, когда я бью его в Chrome или Firefox. Что мне здесь не хватает? Заранее большое спасибо за помощь.

1 Ответ

0 голосов
/ 05 сентября 2018

Проблема в том, этот сайт очень медленный, загрузка в среднем занимает 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();
...