Установите максимальное количество перенаправлений сервера, которое следует использовать при использовании HttpURLConnection - PullRequest
3 голосов
/ 23 января 2011

Есть ли способ назначить максимальное количество перенаправлений, которые выполняются при использовании HttpURLConnection?

        HttpURLConnection conn = (HttpURLConnection) uri.getURI().toURL();
        conn.connect();

Я вижу только возможность включить / отключить перенаправления

conn.setFollowRedirects(true)

Я хочу установить максимальное следование 3 (кажется, что по умолчанию установлено значение 20), чтобы исключить подобные исключения:

java.net.ProtocolException: Server redirected too many  times (20)

, которые вызваны циклическим перенаправлением на некоторых серверах.

Ответы [ 3 ]

3 голосов
/ 23 января 2011

Вы можете попробовать http.maxRedirects свойство:

System.setProperty("http.maxRedirects", "3");

1 голос
/ 23 января 2011

По HTTP RFC

Пользовательский агент никогда не должен автоматически перенаправить запрос больше 5 раз, так как такие перенаправления обычно указывают на бесконечный цикл.

В этом сообщении на форуме объясняется, как обойти это

0 голосов
/ 23 января 2011

Почему бы вам просто не поймать исключение?Изменение порогового числа не изменит того факта, что функция должна сообщать вам об ошибке, если она превышает это число.Фактически, снижение порога увеличит шансы того, что функция будет сообщать о сбое в сложных, но законных ситуациях перенаправления, когда в конечном итоге она преуспеет с более высоким порогом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...