Имя: Пароль:
1C
1С v8
Отправка ZIP методом на http
,
0 Flint_taman
 
22.11.16
18:17
Здравствуйте, помогите дураку. Надо отправить зипованный XML на адрес http://xxx.xxx.ru/Exchange/UploadFile. Если можно кусок кода.
1 Serginio1
 
22.11.16
18:20
http://catalog.mista.ru/public/466052/

.Net в 1С. Асинхронные HTTP запросы, отправка Post нескольких файлов multipart/form-data, сжатие трафика с использованием gzip, deflate, удобный парсинг сайтов и т.д.
2 Serginio1
 
22.11.16
18:23
http://catalog.mista.ru/public/448668/ в 35 есть пример сжатия разжатия

Распаковка gzip строки
3 Serginio1
 
22.11.16
18:25
Пример алгоритма сжатия строки и результат в Base64 и обратный процесс

стр = "Строка для теста компрессии декомпрессии";
    
    // Получим используемые типы
    MemoryStream=Врап.ПолучитьТип("System.IO.MemoryStream");
    UTF8=Врап.ПолучитьТип("System.Text.Encoding").UTF8;
    CompressionMode = врап.ПолучитьТип("System.IO.Compression.CompressionMode");
    
    
    СжатыйПоток = врап.СоздатьОбъект(MemoryStream); //Поток куда запишутся сжатые данные
    
    
    zipStr = врап.СоздатьОбъект("System.IO.Compression.GZipStream", СжатыйПоток, CompressionMode.Compress);
    
    МассивДанных= UTF8.GetBytes(стр);// Получим массив данных используя кодировку  UTF8
    ПотокДляСжатия = Врап.СоздатьОбъект(MemoryStream,МассивДанных);  // Создадим поток из массива данных

    ПотокДляСжатия.CopyTo(zipStr);
    zipStr.Flush(); // Сбросим данные в  СжатыйПоток
    zipStr.Close(); // Закроем  GZipStream
    compressed = СжатыйПоток.ToArray(); // Получим массив байт сжатых данных

    Convert=Врап.ПолучитьТип("System.Convert");
    стр64=Convert.ToBase64String(compressed); // Переведем сжатые данные в Base64
    //Сообщить(стр64);
4 Flint_taman
 
22.11.16
18:29
Забыл - платформа 8.3. Желательно штатными методами. Курю: ВызватьHTTPМетод
5 trdm
 
22.11.16
18:42
Попытка
        ZIP = СоздатьОбъект("AddIn.ZIP");  
        //Сообщить(ZIP.ВерсияОбъектаСтр);
    Исключение
        ZIP = "";
        глСообщитьОбОшибке(ОписаниеОшибки() + " [20101104-1713]");
        Сообщить("Не удалось создать объект из компоненты DialMail.dll!");         
    КонецПопытки;    
            вПолнИмяФайла = вСписФайловНС1.ПолучитьЗначение(СЦ);
            //вПолныйПутьКФайлу = СокрЛП(гИмяФайлаПолноеЗаказы);
            вПолныйПутьКФайлу = вПолнИмяФайла;
            вПолныйПутьКАрхиву = СокрЛП(вПолныйПутьКФайлу)+".zip";
            Если ФС.СуществуетФайл(вПолныйПутьКАрхиву) = 1 Тогда
                ФС.УдалитьФайл(вПолныйПутьКАрхиву);
            КонецЕсли;            
            вРезульт = ZIP.ДобавитьВАрхив(, вПолныйПутьКФайлу, вПолныйПутьКАрхиву);
            Состояние("Грузим на ftp: " + СокрЛП(вПолныйПутьКАрхиву));
6 Flint_taman
 
22.11.16
18:44
(5) Это что было? Как зазиповать я не спрашиваю. И это судя по всему семерка.
7 trdm
 
22.11.16
18:49
(6) А какая разница 7-ка, 8-ка. Пара извилин и разницы нет.
8 Flint_taman
 
22.11.16
18:53
(7) Еще раз: я не увидел кода отправки зип на HTTP сервер. Я увидел только кусок:  Состояние("Грузим на ftp: " + СокрЛП(вПолныйПутьКАрхиву)); Или Вы не до конца скопировали код или лыжи не едут.
9 trdm
 
22.11.16
18:55
Истерикус? Тогда сам ищи, собирался копипастить нужное, но теперь хрен.
10 Flint_taman
 
22.11.16
18:58
(9) Спасибо, спокойный Вы наш! Где Вы увидели истерику? Я указал только на отсутствие нужного кода в Вашем копипасте.
11 Flint_taman
 
22.11.16
19:00
(6) Вы читаете посты или нет? ЖЕЛАТЕЛЬНО штатными методами.
12 Живой Ископаемый
 
22.11.16
19:02
2(11)незазипованный отправить можешь?
13 Flint_taman
 
22.11.16
19:05
(12) Судя по всему только бинарник. Хотя может и могу - если не сложно пример отправки файла на сервак.
14 Живой Ископаемый
 
22.11.16
19:08
то есть у тебя вопрос не в том чтобы зип отправить, а отправить вообще. То есть вопрос как делать ПОСТ с помощью ХТТПЗапроса?
15 Flint_taman
 
22.11.16
19:10
(14) Бинго! Ну, в принципе, да. Я думаю бинарник перевести с помощью Base64Строка()
16 DDwe
 
22.11.16
19:37
(15) Ты даже вопрос сформулировать не можешь нормально.
17 b_ru
 
22.11.16
19:57
поставь fiddler, отправь файл вручную, посмотри в фиддлере какие при этом запросы посылаются, повтори это в коде.
В общем виде "отправить файл на http-сервер" нельзя.
18 Asmody
 
22.11.16
20:02
Читать в СП про HTTPСоединение до просветления.
19 Asmody
 
модератор
22.11.16
20:03
Еще одна просьба "кусок кода" отправит ТС в бан, опять же, до просветления.
20 Flint_taman
 
22.11.16
20:04
(17) Сенкс, а то "умных" налетело.
21 Asmody
 
22.11.16
20:04
(17) Что за херню ты несешь?
22 b_ru
 
22.11.16
20:07
(21) А что статус модератора позволяет оскорблять пользователей уже? Или это статус не модератора, а вахтера?
23 marty0701
 
22.11.16
20:10
ЯННП, ТС вышли свой зип на FTP в нужную тебе папку, примеров кода вагон и телега.
24 Flint_taman
 
22.11.16
20:16
(23) Спасибо, особенно модератору. Я в "баню". Никогда за 16 лет карьеры 1С-ника не думал, что все так озлоблены. Еще раз читаем: на 80 ХТТП, а не 21 ФТП. Ну не знаю я как формировать ПОСТ запросы в отличии от ГЕТ, где все просто.
(17) Спасибо, за информацию. Удачи в нашем безнадежном предприятии ;)
25 marty0701
 
22.11.16
20:20
(24)Да на, оно? http://catalog.mista.ru/public/20017/
26 Asmody
 
22.11.16
20:21
(24) Если за "16 лет карьеры одинесника" ты не научился читать СП (где все разжевано более чем), то миста уже не поможет.
27 marty0701
 
22.11.16
20:22
28 Flint_taman
 
22.11.16
20:23
(25) ++++++++++
29 Flint_taman
 
22.11.16
20:24
(26) уже на почту отписал
Спасибо всем, тема закрыта.
30 Asmody
 
22.11.16
20:25
(22) ["отправить файл на http-сервер" нельзя.] – за такие заявления выгоняют из профессии.
31 Flint_taman
 
22.11.16
20:26
(30) Тема закрыта. (Для непонятливых). Желчь будешь изливать на других.
32 Asmody
 
22.11.16
20:30
(31) По правилам форума, тема создателю не принадлежит. Ее закрытия ты требовать не можешь.
33 Flint_taman
 
22.11.16
20:37
(32) Господи, на три месяца меня старше а такой говнистый. Ну забань меня тогда. И на ты мы не переходили.
34 b_ru
 
22.11.16
20:38
(30) Я написал "В общем виде "отправить файл на http-сервер" нельзя." Если ты найдешь в стандарте http что-то про то, что веб-сервер обязан принимать посланные ему файлы, тогда я обязательно выгонюсь из профессии. Ну а пока там ничего такого нет, приходится программисту в каждом конкретном случае определять скрипт, который будет обрабатывать пост-запрос с файлом и что-нибудь с этим файлом делать. Ну а программисту со стороны клиента надо как-то узнать что ж там напридумывал разработчик сайта.
35 Flint_taman
 
22.11.16
20:43
(34) Так я и пишу, что один из единственных кто помог - не силен я в PHP. Еще раз спасибо за разъяснение ПОСТ-запроса.
36 Asmody
 
22.11.16
20:56
(34) А я как-то не предполагал, что ресурс с адресом http://xxx.xxx.ru/Exchange/UploadFile должен показать котиков и сиськи.
37 Asmody
 
22.11.16
20:57
(33) Да, это стоило сделать еще после (8)
Закон Брукера: Даже маленькая практика стоит большой теории.