Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

проблема с программным сохранением картинки с сайта

проблема с программным сохранением картинки с сайта
Я
   Сергей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
КопироватьФайл(ссылка, путь)
   Сергей2017
 
2 - 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), если их нет,то возвращается страница с описанием,почемк  картинку не дали - файл блокнотом открой и посмотри что там
   Сергей2017
 
4 - 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");
   Сергей2017
 
5 - 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");
КонецПроцедуры

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

зы. у меня через КопироватьФайл() тоже норм.
   Сергей2017
 
10 - 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)
может в этом дело?
база файловая и там и там
   Сергей2017
 
11 - 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>
   youalex
 
12 - 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
так он перемещен
и нормальная копировалка такое отрабатывает на ура.
   Сергей2017
 
15 - 07.08.20 - 20:19
дело было в совместимости конфы. у меня было 8.2.13
через коннектор переделал в итоге
   Сергей2017
 
16 - 07.08.20 - 20:19
(13) код рабочает твой начиная с режима совместимости 8.3.8
   ДенисЧ
 
17 - 07.08.20 - 20:40
(15) в 8.2 https не работает. Я думал, это известно...

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.