Век живи - век учись.
Черновая публикация - заменить псевдокод - (код доступен для Сервер, Клиент, Внешнее Соединение)
// Вернет результат Соединение.Получить(Запрос, ИмяВременногоФайла) с обработкой ответа 301 // Параметры: // Соединение - HTTPСоединение - // Запрос - HTTPЗапрос - // ИмяВременногоФайла - Строка - необязательный параметр метода Соединение.Получить(Запрос, ИмяВременногоФайла) // Отказ - булево - Будет содержать признак отказа в выполнении метода // Возвращаемое значение: // - httpОтвет - Функция Получить(Соединение, Запрос, ИмяВременногоФайла = Неопределено, Отказ = Ложь) Отказ = Ложь; Ответ = Соединение.Получить(Запрос, ИмяВременногоФайла); Если Ответ.КодСостояния = 301 Тогда url = Ответ.Заголовки.Получить("location"); // url --> Новое HTTPСоедиение(url{сервер,порт},Соединение{Пользователь,Пароль,Прокси,Таймаут,ЗащищенноеСоединение}) // Запрос.АдресРесурса = url.АдресРесурса // Отказ = HTTPСоедиение{сервер,порт} = Соедиение{сервер,порт} И АдресРесурсаИзменен = Ложь // Если Отказ = Ложь Тогда Возврат Получить(Соединение, Запрос, ИмяВременногоФайла, Отказ); // КонецЕсли; КонецЕсли; Возврат Ответ; КонецФункции
Про код 301 - Код состояния HTTP (англ. HTTP status code) со статусом 301 Moved Permanently (Перемещено окончательно) свидетельствует о том, что запрошенный документ был окончательно перенесен на новый URI, указанный в поле Location заголовка.
Комментарии
Отправить комментарий