Почему я получаю два ответа redirectResponse при получении одного ответа 302?
-
24-09-2019 - |
Вопрос
Я использую следующий код:
родовое словоКогда я получаю 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 на начальный запрос.