Почему я получаю два ответа redirectResponse при получении одного ответа 302?

StackOverflow https://stackoverflow.com/questions/2369608

Вопрос

Я использую следующий код:

родовое слово

Когда я получаю 302 со следующими данными заголовка:

родовое слово

это вывод в консоли gdb:

<цитата>

2010-03-03 08: 42: 03.265 MyProg [68106: 207] Получен ответ перенаправления: (null) ошибка сервера 2010-03-03 08: 42: 14.414 MyProg [68106: 207] Получен ответ о переадресации: {
Connection="Keep-Alive";
"Content-Encoding"= gzip;
"Content-Length"= 20;
"Content-Type"="text / html; charset= utf-8";
Date="среда, 03 марта 2010 г. 07:42:10 GMT";
"Keep-Alive"="timeout= 15, max= 100";
Location="<new Location>";
Сервер="lighttpd / 1.4.19";
Vary="Принять-кодирование";} найдено

При использовании Curl я получаю только один ответ, и tracedump сообщает то же самое, поэтому я уверен, что сервер отправляет только одно перенаправление.
Почему этот селектор вызывается дважды?

Это было полезно?

Решение

connection:willSendRequest:redirectResponse: вызывается перед каждым запросом, поэтому он вызывается один раз в исходном запросе, который не был перенаправлением, поэтому ответ равен нулю;затем он вызывается при загрузке цели перенаправления, где ответ - это ответ 302 на начальный запрос.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top