Загрузка картинок, код состояния = 301

1. Xellsing 33 02.09.20 16:11 Сейчас в теме
Привет всем есть УТ 10.3, к ней делалась обработка загрузки картинок в номенклатуру по URL, все работает, только проблемы с одним ресурсом вот пример ссылки https://ormco.ru/images/cms/data/catalog_full/601-0021.jpg отсюда не загружается, в ответе приходит код состояния 301 что страница перенаправлена и новый адрес должен быть в параметре "Location", но там первоначальная ссылка и происходит зацикливание функции, есть выход из этой ситуации или это проблемы на стороне сайта?

пример кода

Функция ПолучитьHTTPОтвет(ПутьКФайлуНаСервере, ИмяФайла, Соединение, Заголовки, флаг = Истина)

	HTTPЗапрос = Новый HTTPЗапрос(ПутьКФайлуНаСервере, Заголовки);
	HTTPЗапрос.Заголовки.Вставить("Accept-Charset", "utf-8");
	HTTPОтвет = Соединение.Получить(HTTPЗапрос, ИмяФайла);
	Если HTTPОтвет.КодСостояния = 301 или HTTPОтвет.КодСостояния = 302 Тогда
		ПутьКФайлуНаСервере = HTTPОтвет.Заголовки["Location"];
		URLРазделенный = РазделитьURL(ПутьКФайлуНаСервере);
		ПутьКФайлуНаСервере1 = URLРазделенный.ПутьКФайлуНаСервере;
		HTTPОтвет = ПолучитьHTTPОтвет(ПутьКФайлуНаСервере, ИмяФайла, Соединение, Заголовки, Флаг);
	КонецЕсли;
	
	файл = Новый Файл(ИмяФайла);
	
	Если флаг и HTTPОтвет.КодСостояния >= 200 и HTTPОтвет.КодСостояния <= 299 Тогда флаг = Ложь; ИмяФайлаВр = ПутьКФайлуНаСервере; Пока Найти(ИмяФайлаВр,"/") > 0 цикл
		ИмяФайлаВр = Сред(ИмяФайлаВр,Найти(ИмяФайлаВр,"/")+1);
	КонецЦикла;
	Если НЕ ПустаяСтрока(ИмяФайлаВр) Тогда
		ПереместитьФайл(ИмяФайла, файл.Путь + ИмяФайлаВр);
		ИмяФайла = файл.Путь + ИмяФайлаВр;
	КонецЕсли;
КонецЕсли;

Возврат HTTPОтвет;
Показать
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
3. user1166203 02.09.20 17:38 Сейчас в теме +1 $m
Соединение = новый HTTPСоединение("ormco.ru",,,,,,Новый ЗащищенноеСоединениеOpenSSL);
Запрос = Новый HTTPЗапрос("images/cms/data/catalog_full/601-0021.jpg");
Ответ = Соединение.Получить(Запрос);


Возвращает 200 и нормальное тело.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dka80 20 02.09.20 17:28 Сейчас в теме
Это проблема на стороне сайта. Возможно, каталог назывался маленькими буквами, а теперь большими.
3. user1166203 02.09.20 17:38 Сейчас в теме +1 $m
Соединение = новый HTTPСоединение("ormco.ru",,,,,,Новый ЗащищенноеСоединениеOpenSSL);
Запрос = Новый HTTPЗапрос("images/cms/data/catalog_full/601-0021.jpg");
Ответ = Соединение.Получить(Запрос);


Возвращает 200 и нормальное тело.
5. Xellsing 33 02.09.20 18:06 Сейчас в теме
(3) Да проблема была в передаче параметра Новый ЗащищенноеСоединениеOpenSSL без него ответ был 301
Всем спасибо
4. platonov.e 158 02.09.20 17:44 Сейчас в теме +1 $m
Все прекрасно скачивается

ПутьКФайлуНаСервере = "images/cms/data/catalog_full/601-0021.jpg";
	Соединение = Новый HTTPСоединение("ormco.ru", , , , , , Новый ЗащищенноеСоединениеOpenSSL);
	
	HTTPЗапрос = Новый HTTPЗапрос(ПутьКФайлуНаСервере);
	HTTPЗапрос.Заголовки.Вставить("Accept-Charset", "utf-8");
	HTTPОтвет = Соединение.Получить(HTTPЗапрос);
	
	ДД = HTTPОтвет.ПолучитьТелоКакДвоичныеДанные();
	ДД.Записать("C:\Users\Odmin\Desktop\sdf\lkj.jpg");
Показать
6. Xershi 1484 05.09.20 18:36 Сейчас в теме
Проблема заключается в том что вы обращались по не безопасному протоколу. А картинка доступна по безорасному протоколу.
Вот вас и редиректило.
А вы снова стучались по не безопасному протоколу!
Вот и зацикливание.
Разберитесь как работает веб.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот