Технически это зависит от протокола.Для HTTP он использует сокеты TCP / IP.openStream()
сгенерирует исключение, если произойдет ошибка ввода-вывода.Просто поместите это в попытку / поймать.Однако, если сервер возвращает, например, HTTP 404 (не найден) или 500 (внутренняя ошибка), вы получите эту строку в строке неосознанно.Вы можете использовать HttpURLConnection
вместо этого для более детального контроля.
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
if (connection.getResponseStatus() == 200) {
// All OK, convert connection.getInputStream() to string.
// Don't forget to take character encoding into account!
} else {
// Possible server error. Throw exception yourself? Or return some default?
}
Далее вы можете установить тайм-аут URLConnection#setConnectTimeout()
.Я считаю, что по умолчанию это 3 секунды или около того.Вы можете настроить его, чтобы сделать все быстрее.Устанавливается с 1000
на 1 секунду.