Имя: Пароль:
1C
1С v8
Изображение из интернета по ссылке не хочет сохраняться в 1С
0 Gattuso
 
20.04.17
18:18
Коллеги, весь день не могу понять в чем дело.

Есть ссылка "https://www.lagre.ru/assets/system/shop/products/167/original/alphatherm-u.png";

При попытке сохранить картинку методом
КопироватьФайл(СсылкаФото, ИмяВременногоФайла);
ничего не получается. Картинка по сути не сохраняется.

Причем с других сайтов с картинками проблем нет - этой же обработкой. И в то же время эта картинка открывается без проблем в браузере.

Может кто-то сталкивался, куда вообще можно попробовать покопать?
1 PiotrLoginov
 
20.04.17
18:29
С других сайтов тоже через безопасное?
2 Gattuso
 
20.04.17
18:41
(1) да, 1 в 1
3 Gattuso
 
20.04.17
18:43
(1) вычитал про "защищенное соединение", но конкретный пример вроде никакого отношения к этому не имеет.. или я ошибаюсь?
4 Cyberhawk
 
20.04.17
18:47
"с других сайтов с картинками проблем нет - этой же обработкой" // Пример ссылки, с которой проблем нет, давай
5 Gattuso
 
20.04.17
18:47
(1) точнее у меня https, то есть защищенное. Но все равно ен понимаю, если картинка спокойно открывается руками, то почему не копируется программно и что надо сделать, чтобы копировалась
6 Fedor-1971
 
20.04.17
18:50
(0) Возможно, что по указанному пути картинки действительно нет. Страница генерируется "на лету", а картинка лежит себе где нить на сервере, только путь доступа к ней другой.
7 PiotrLoginov
 
20.04.17
20:12
(6) да это, на самом деле, неважно, где она там лежит. Главное, что при запросе по указанному адресу сервер по https возвращает двоичные данные, которые являются файлом-картинкой.

(5) без кода и примеров ссылок, боюсь, не сможем помочь.
8 mehfk
 
20.04.17
20:18
(0) У меня на одном сервере такой код
СсылкаФото = "https://www.lagre.ru/assets/system/shop/products/167/original/alphatherm-u.png";;
ИмяВременногоФайла = ПолучитьИмяВременногоФайла("png");
КопироватьФайл(СсылкаФото, ИмяВременногоФайла);

дает ошибку
Ошибка работы с Интернет:   Удаленный узел не прошел проверку

а такой код
ИмяВременногоФайла = ПолучитьИмяВременногоФайла("png");
ssl = Новый ЗащищенноеСоединениеOpenSSL(
                Новый СертификатКлиентаWindows(
                                СпособВыбораСертификатаWindows.Выбирать),
                Новый СертификатыУдостоверяющихЦентровWindows());
HTTP = Новый HTTPСоединение("http://www.lagre.ru";, 443,,,,,ssl);
ы = HTTP.Получить("/assets/system/shop/products/167/original/alphatherm-u.png", ИмяВременногоФайла);
отрабатывает без ошибок
9 mehfk
 
20.04.17
20:20
А на другом и второй вариант завершается ошибкой
Ошибка работы с Интернет:   Удаленный узел не прошел проверку
но там и в IE сайт не открывается :)
10 PiotrLoginov
 
20.04.17
21:33
так. сейчас задача в чем состоит? создать код, стабильно работающий на любых серверах в любых подсетях с любыми ресурсами (сайтами) ? Не будет такого. На том сервере, с которого не работает, явно в операционке какой-то другой набор корневых сертификатов или еще какие-то отличия в исходной среде. Платформа при использовании некоторых механизмов взаимодействует с операционкой, и многое из этого взаимодействия для нас - черный ящик. О различных сайтах уже умолчу.

Помню, писал код обращающийся к API через системный прокси. Все траблы, которые возникали, решал с сисадмином путем настройки операционки.

Наверное, стоит использовать HTTPСоединение.Получить() . Вопрос "почему картинка не доступна на втором сервере?" решать с сисадмином.
11 kuzyara
 
21.04.17
03:35
12 Gattuso
 
21.04.17
08:36
(8)

Спасибо огромное!!! Взлетело!
Кажется,я теперь все знаю о защищенных и незащищенных соединениях:)))

Еще раз спасибо!