2016-11-04 5 views
1

Я очень новичок в Java jsuopJava jsoup получить текст неудачу

Я хочу, чтобы получить последнюю цену в последующей строке: http://www.aastocks.com/en/forex/quote/quote.aspx?symbol=NZDHKD&process=y

и у меня есть код последующего:

элементы отвечающие = document.select ("div.content div.inline_block.vat.float_l div.boxForex div.font26 span.neg");

Но это возвращает ошибку: java.net.SocketTimeoutException: Чтение таймаут

Я думаю, что я ошибаюсь в «document.select» часть, кто-то может мне помочь? Большое спасибо.

+0

Нет, исключение не имеет ничего общего с doc.select. Это вызвано методом get. Измените свой вопрос и добавьте соответствующий код. – TDG

+0

Помог ли мой ответ решить вашу проблему? Тогда, пожалуйста, примите это или опубликуйте следующий вопрос, иначе http://stackoverflow.com/help/someone-answers –

ответ

0

Ответ от сервера занимает слишком много времени, поэтому по умолчанию он будет достигнут и исключение:

If a timeout occurs, an IOException will be thrown. The default timeout is 3 seconds (3000 millis).

Так просто установить более высокую timeout:

Пример кода

String url = "http://www.aastocks.com/en/forex/quote/quote.aspx?symbol=NZDHKD&process=y"; 
String userAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36"; 

try { 
    Document doc = Jsoup.connect(url).userAgent(userAgent).timeout(5000).get(); 
    System.out.println(doc.select("div.content div.inline_block.vat.float_l div.boxForex div.font26 span.neg").first().text()); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

Выход

5.6813 
Смежные вопросы