ResponseStream перечитать после тайм-аута чтения
Мне интересно, когда я читаю поток ответа и происходит тайм-аут, могу ли я повторить чтение? Или я должен сделать новый запрос? Сервер, с которого я загружаю, не поддерживает возобновление, поэтому мне нужно защищаться от таймаутов.
2 ответа
Решение
Нет, вы не можете повторить попытку. Вам необходимо переиздать запрос
Откуда вы знаете, что сервер не принимает резюме? Это Accept-Ranges
заголовок действительно отсутствует в ответе? Если нет, вы можете возобновить запрос, используя Range
заголовок.
Если сервер действительно не поддерживает его, лучше всего сообщить серверу о том, что вы хотите поддерживать соединение, используя Connection: keep-alive
заголовок в сочетании с Keep-Alive
заголовок, в котором вы можете указать время ожидания.
Надеюсь это поможет.