Описание проблемы:
Есть запрос к сайту с заголовком "contentType = 'application/json'", сайт делает редирект с кодом 308, но при попытке обратится по новому адресу появляется ошибка из-за того что заголовок contentType поменялся с 'application/json' на 'application/octet-stream'
Возможная причина и решение:
В функции ВызватьHTTPМетод если происходит редирект с кодом отличным от 307 и 308 то из куков удаляются заголовки "content-length,content-type,transfer-encoding" в противном случае по идее они должны остаться, но это не происходит, как решение добавил строку кода НовыйHTTPЗапрос.Заголовки = ПодготовленныйЗапрос.Заголовки;
До изменений:
Если Ответ.КодСостояния <> КодыСостоянияHTTP.ВременноеПеренаправление_307
И Ответ.КодСостояния <> КодыСостоянияHTTP.ПостоянноеПеренаправление_308 Тогда
УдалитьЗаголовки(ПодготовленныйЗапрос.Заголовки, "content-length,content-type,transfer-encoding");
НовыйHTTPЗапрос.Заголовки = ПодготовленныйЗапрос.Заголовки;
Иначе
ИсходныйПоток = ПодготовленныйЗапрос.HTTPЗапрос.ПолучитьТелоКакПоток();
ИсходныйПоток.КопироватьВ(НовыйHTTPЗапрос.ПолучитьТелоКакПоток());
КонецЕсли;
После:
Если Ответ.КодСостояния <> КодыСостоянияHTTP.ВременноеПеренаправление_307
И Ответ.КодСостояния <> КодыСостоянияHTTP.ПостоянноеПеренаправление_308 Тогда
УдалитьЗаголовки(ПодготовленныйЗапрос.Заголовки, "content-length,content-type,transfer-encoding");
НовыйHTTPЗапрос.Заголовки = ПодготовленныйЗапрос.Заголовки;
Иначе
ИсходныйПоток = ПодготовленныйЗапрос.HTTPЗапрос.ПолучитьТелоКакПоток();
ИсходныйПоток.КопироватьВ(НовыйHTTPЗапрос.ПолучитьТелоКакПоток());
НовыйHTTPЗапрос.Заголовки = ПодготовленныйЗапрос.Заголовки;
КонецЕсли;
Описание проблемы: Есть запрос к сайту с заголовком "contentType = 'application/json'", сайт делает редирект с кодом 308, но при попытке обратится по новому адресу появляется ошибка из-за того что заголовок contentType поменялся с 'application/json' на 'application/octet-stream'
Возможная причина и решение:
В функции ВызватьHTTPМетод если происходит редирект с кодом отличным от 307 и 308 то из куков удаляются заголовки "content-length,content-type,transfer-encoding" в противном случае по идее они должны остаться, но это не происходит, как решение добавил строку кода
НовыйHTTPЗапрос.Заголовки = ПодготовленныйЗапрос.Заголовки;
До изменений:
После: