Имя: Пароль:
1C
1С v8
проблема с программным сохранением картинки с сайта
,
0 Сергей2017
 
07.08.20
09:23
почему такой код может неправильно отрабатывать - он вроде как работает, но картинка в итоге локально сохраняется весом 162 байта, хотя в реальности она 42 кб

Соединение = Новый HTTPСоединение(ИмяСервера,,,,,,Новый ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос(СсылкаФото);
Ответ = Соединение.Получить(Запрос);
ДвоичныеДанныеКартинки = Ответ.ПолучитьТелоКакДвоичныеДанные();
  
Картинка = Новый Картинка(ДвоичныеДанныеКартинки);
Картинка.Записать("C:\Bases_1C\bck\060820\"+"53745923386131.jpg");

такой вариант аналогично криво отрабатывает, тоже картина 167 байт

Соединение = Новый HTTPСоединение(ИмяСервера,,,,,,Новый ЗащищенноеСоединениеOpenSSL());
Соединение.Получить(СсылкаФото, ИмяКаталога+ИмяФайла);
1 Волшебник
 
07.08.20
09:35
КопироватьФайл(ссылка, путь)
2 Сергей2017
 
07.08.20
09:45
СсылкаФото = "https://freshfood.com.ua/content/images/2/53745923386131.jpg";;
КопироватьФайл(СсылкаФото, "C:\Bases_1C\bck\060820\"+"53745923386131.jpg")

Ошибка доступа к файлу 'https://freshfood.com.ua/content/images/2/53745923386131.jpg'
Ошибка работи з Інтернет:   Проверка удаленного узла не произошла

чтото не хочет работать. наверно изза https
3 Сияющий в темноте
 
07.08.20
09:52
1с еще и сертификаты  проверяет,если ей это сделать не удалось,то происходит ошибка.
для некоторых сайтов еще и ключи нужны(cookies), если их нет,то возвращается страница с описанием,почемк  картинку не дали - файл блокнотом открой и посмотри что там
4 Сергей2017
 
07.08.20
09:56
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>


это файл,который получается после
Соединение = Новый HTTPСоединение(ИмяСервера,,,,,,Новый ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос(СсылкаФото);
Ответ = Соединение.Получить(Запрос);
ДвоичныеДанныеКартинки = Ответ.ПолучитьТелоКакДвоичныеДанные();
  
Картинка = Новый Картинка(ДвоичныеДанныеКартинки);
Картинка.Записать("C:\Bases_1C\bck\060820\"+"53745923386131.jpg");
5 Сергей2017
 
07.08.20
09:56
но если проверить ссылку вот тут
https://4web.su/s_redirect/
то говорит что редиректа нет
Array
(
    [0] => HTTP/1.1 200 OK
    [Server] => nginx
    [Date] => Fri, 07 Aug 2020 06:39:55 GMT
    [Content-Type] => image/jpeg
    [Content-Length] => 42665
    [Last-Modified] => Tue, 28 Apr 2020 12:26:11 GMT
    [Connection] => close
    [ETag] => "5ea820e3-a6a9"
    [Expires] => Sun, 06 Sep 2020 06:39:55 GMT
    [Cache-Control] => max-age=2592000
    [Strict-Transport-Security] => max-age=31536000;
    [Content-Security-Policy-Report-Only] => default-src https:; script-src https: 'unsafe-eval' 'unsafe-inline'; style-src https: 'unsafe-inline'; img-src https: data:; font-src https: data:; report-uri /csp-report
    [Accept-Ranges] => bytes
)
6 ДенисЧ
 
07.08.20
10:01
Написал в ОФ

Процедура КнопкаВыполнитьНажатие(Кнопка)
    КопироватьФайл("https://freshfood.com.ua/content/images/2/53745923386131.jpg";, "d:\1111.jpg");
КонецПроцедуры

Всё нормально скопировалось...
7 Сергей2017
 
07.08.20
10:06
(6) млин, у меня тоже с ноута сработало.
а с сервера не хочет))
8 ДенисЧ
 
07.08.20
10:10
(7) "локально сохраняется весом 162 байта"
А что в этом файле? Открой его как текст...
9 youalex
 
07.08.20
10:16
(4) >> Moved Permanently
Посмотри в отладчике  Location в Ответ.Заголовки.

зы. у меня через КопироватьФайл() тоже норм.
10 Сергей2017
 
07.08.20
10:28
(9)
Location
https://freshfood.com.ua/https:/freshfood.com.ua/content/images/2/53745923386131.jpg";


явно кривой. и  не открывается в браузере

на сервере платформа 1с 1С:Предприятие 8.3 (8.3.9.2033)
на втором компе 1С:Предприятие 8.3 (8.3.16.1148)
может в этом дело?
база файловая и там и там
11 Сергей2017
 
07.08.20
10:29
(8)
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>
12 youalex
 
07.08.20
10:41
(10) У меня вот так тоже работает (проверь имя сервера, адрес ресурса):
[code1c]
    ИмяСервера = "freshfood.com.ua";
    СсылкаФото = "content/images/2/53745923386131.jpg";
    Соединение = Новый HTTPСоединение(ИмяСервера,,,,,,Новый ЗащищенноеСоединениеOpenSSL());
    Запрос = Новый HTTPЗапрос(СсылкаФото);
    Ответ = Соединение.Получить(Запрос);
    ДвоичныеДанныеКартинки = Ответ.ПолучитьТелоКакДвоичныеДанные();
[/code1c]
13 ДенисЧ
 
07.08.20
11:31
(10) Я привёл рабочий код, копипастой из конфигуратора. Проверь у себя в бровзере последнюю кавычку и запятую
14 Сияющий в темноте
 
07.08.20
17:52
так он перемещен
и нормальная копировалка такое отрабатывает на ура.
15 Сергей2017
 
07.08.20
20:19
дело было в совместимости конфы. у меня было 8.2.13
через коннектор переделал в итоге
16 Сергей2017
 
07.08.20
20:19
(13) код рабочает твой начиная с режима совместимости 8.3.8
17 ДенисЧ
 
07.08.20
20:40
(15) в 8.2 https не работает. Я думал, это известно...
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой