Данная процедура сама разберет адрес скачиваемого файла на составные части, подставит их в объект HTTPСоединение и загрузит файл.
Умеет скачивать по незащищенному и защищенному протоколам (без авторизации). Для остальных случаев можно использовать ее в качестве шаблона.
Процедура ЗагрузитьФайлИзИнтернета(АдресФайлаВИнтернете, АдресФайлаНаКлиенте)
Если Найти(НРег(АдресФайлаВИнтернете),"https://") = 1 Тогда
ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL;
Иначе
ЗащищенноеСоединение = Неопределено;
КонецЕсли;
// "http://static.1c.ru/images/logo.png" -> "static.1c.ru/images/logo.png"
АдресБезHTTP = СтрЗаменить(АдресФайлаВИнтернете, "//", Символы.ПС);
АдресБезHTTP = СтрПолучитьСтроку(АдресБезHTTP, СтрЧислоСтрок(АдресБезHTTP));
// "static.1c.ru/images/logo.png" -> "static.1c.ru"
АдресСервера = СтрПолучитьСтроку(СтрЗаменить(АдресБезHTTP, "/", Символы.ПС), 1);
// "static.1c.ru/images/logo.png" -> "/images/logo.png"
ПутьКФайлуВнутриДомена = Сред(АдресБезHTTP, Найти(АдресБезHTTP, "/"));
// скачиваем на диск
Соединение = Новый HTTPСоединение(АдресСервера, ,,,, 3, ЗащищенноеСоединение);
Соединение.Получить(ПутьКФайлуВнутриДомена, АдресФайлаНаКлиенте);
КонецПроцедуры
Тестировалась на платформе 8.3.8 в режиме совместимости 8.2.13, а также с отключенным режимом совместимости.
Прикладываю обработку, которая в качестве примера загружает картинки по защищенному и незащищенному протоколам. Обработка для примера написана на управляемых формах, но процедура работает также и на обычных формах.
(1) спасибо. Сохранил себе в копилку очереную процедуру от Поручика