Имя: Пароль:
1C
 
Распаковка gzip строки
,
0 Crush
 
18.02.16
12:11
От сервера получаю строку, запакованную gzip. Как распаковать?. Вместе со строкой есть еще и stream в виде ComSafeArray, где каждый элемент - это аскии-код символа той же самой строки.
Пробовал через base64 в файл записать, но всё равно фигня какая то получается.
Поиск только php-функции для распаковки предлагает.
1 Crush
 
18.02.16
12:13
1С:Предприятие 8.3 (8.3.7.1873)
2 sash-ml
 
18.02.16
12:18
запиши в текстовый файл с расширением zip. открой проводником. при открытии такого архива в нем будет один файл без расширения совпадающий с именем архива.
Если ок. то дальше ЧтениеZipФайла
3 Crush
 
18.02.16
12:23
(2) Неполучится. У файла зип-архива есть заголовки и прочее. А уменя только упакованная строка.
На php это делается так:
string gzencode ( string $data [, int $level = -1 [, int $encoding_mode = FORCE_GZIP ]] )
В браузерах встроенные энкодеры.
В cURL-е тоже есть распаковщик.

А в 1С я хз как реализовать. Алгоритм распаковки самому писать совсем не хочется.
4 sash-ml
 
18.02.16
12:25
(3) получится, если нет заголовков, то там будет один файл без расширения совпадающий с именем архива
5 Crush
 
18.02.16
12:27
(4) Блииин!!! Ты прав!!!! Спасибо!!!
Вчера пробовал, не взлетело. Сейчас попробовал - получилось.
Но, всё же вопрос остаётся. Т.к. распаковать как то можно без использования файловой системы.
6 sash-ml
 
18.02.16
12:41
варианты еще такие, вывести на форму поле ХТМЛ документа и попробовать там через JS
Найти СОМобъект который работает с гЗИП например  gzip.DeflateStringENC gzip.InflateStringENC
7 Crush
 
18.02.16
12:50
Форма - не вариант. Распаковка на сервере в регламентном задании будет.
Я пока Compression API ковыряю.
8 sash-ml
 
18.02.16
12:55
как строку получаешь?
9 Crush
 
18.02.16
14:01
(8)

WinHttp.ResponseText //WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1")
10 sash-ml
 
18.02.16
14:13
(9) а если в браузере открыть, строка тоже запакована?
11 Crush
 
18.02.16
14:28
(10) Да
12 Crush
 
18.02.16
16:24
Косякус. 1С-овский ЧтениеZipФайла не может работать с этим архивом, а far  и 7-zip могут.
13 sash-ml
 
18.02.16
16:36
(12) печаль, тогда нужно что-то вроде ЗапуститьПриложение("unzip myfile",каталог), но это уже костыль на костыле.
14 Лефмихалыч
 
18.02.16
16:40
(12) а он аргументирует чем-то, когда не может?
15 Serginio1
 
18.02.16
16:50
16 Serginio1
 
18.02.16
16:56
Тебе подойдет GetStreamAsync
https://msdn.microsoft.com/ru-ru/library/hh551738(v=vs.118).aspx
17 oleg_km
 
18.02.16
17:52
(15) Да, один из моментов использования .НЕТ.

Вот код на 1С:

Процедура GZIPУпаковать(вхФайл, исхФайл) Экспорт
    УдалитьФайлы(исхФайл);
    
    Типы = ПолучитьТипыДляФайлов();
    
    обФайлИсходный     = СоздатьОбъект(Типы.Файл, вхФайл, Типы.Режим.Open, Типы.Доступ.Read, Типы.Разделение.ReadWrite);
    обФайлАрхив        = СоздатьОбъект(Типы.Файл, исхФайл, Типы.Режим.CreateNew, Типы.Доступ.Write);
    обПотокКомпр     = СоздатьОбъект(ПолучитьТип("System.IO.Compression.GZipStream", "System"),
                        обФайлАрхив, ПолучитьТип("System.IO.Compression.CompressionMode", "System").Compress);
                        
    обФайлИсходный.CopyTo(обПотокКомпр);
    
    обПотокКомпр.Close();
    обФайлАрхив.Close();
    обФайлИсходный.Close();
КонецПроцедуры

Процедура GZIPРаспаковать(вхФайл, исхФайл) Экспорт
    УдалитьФайлы(исхФайл);
    
    Типы = ПолучитьТипыДляФайлов();
    
    обФайлАрхив     = СоздатьОбъект(Типы.Файл, вхФайл, Типы.Режим.Open, Типы.Доступ.Read, Типы.Разделение.ReadWrite);
    обФайлНовый        = СоздатьОбъект(Типы.Файл, исхФайл, Типы.Режим.CreateNew, Типы.Доступ.Write);
    обПотокКомпр     = СоздатьОбъект(ПолучитьТип("System.IO.Compression.GZipStream", "System"),
                        обФайлАрхив, ПолучитьТип("System.IO.Compression.CompressionMode", "System").Decompress);
                        
    обПотокКомпр.CopyTo(обФайлНовый);
    
    обПотокКомпр.Close();
    обФайлАрхив.Close();
    обФайлНовый.Close();
КонецПроцедуры
18 Crush
 
18.02.16
20:13
(14) Ругается на неверный формат файла
(13) Ага. Причём только через ЗапуститьПриложение и получается. А через Shell нивкакую
    WshShell = Новый COMObject("WScript.Shell");
    Сообщить(WshShell.Run("""C:\Program Files\7-Zip\7z.exe"" x D:\tmep\gzip\1 -so>d:\3",0,1));
19 Serginio1
 
19.02.16
10:15
(18) Можешь скинуть ссылку на ресурс? Посмотрю и может другим польза будет. И пример то, чего вытаскиваешь.
20 kirillkr
 
19.02.16
17:58
(17), Олег, а что из себя представляют функции
ПолучитьТипыДляФайлов, СоздатьОбъект и ПолучитьТип
21 Crush
 
19.02.16
20:27
(19) Какой ресурс? Пример - это строка сжатая gzip.

Нашел пока убогий вариант средствами WScript.Shell
1. Создаю bat-ник со строкой распаковки "C:\Program Files\7-Zip\7z.exe" x d:\1.zip -so>d:\1.txt
2. Запускаю батник WshShell.Run("d:\1.bat",0,1);

7zip в этом случае не ругается и трабатывает как надо. Распакованный текст получаю. Окошко консоли не появляется.

Но, блин, жуть как криво получается:(
22 Serginio1
 
19.02.16
20:31
(21) Любой ресурс который возвращает сжатую строку
(20) Смотри Использование классов .Net в 1С для новичков

http://catalog.mista.ru/public/448668/

Это обертка над методами NetObjectToIDispatch45
врап=новый COMОбъект("NetObjectToIDispatch45");
23 miliko
 
19.02.16
20:33
(0)
понятно ... сколько будет 2*2, без гугла не обойтись )
24 Crush
 
19.02.16
21:58
(22) Нашел клёвую штуку comобъект("Chilkat.Gzip"), но она триальная на 30 дней, а дальше 149$.
Ссылку на конкретный ресурс не могу дать, а других не знаю:(

system.io.compression.gzipstream - эта штука - это то, что надо, но с обёрткой у меня пока туго. Видимо придётся завтра курить эту тему.
25 Crush
 
19.02.16
21:59
+(24) http://www.chilkatsoft.com/refdoc/xGzipRef.html
Оставлю это здесь, мож кому интересно будет. Но дорого!
26 Serginio1
 
19.02.16
22:15
(24) А чем тебе 17 не подходит? Причем бесплатно.
27 Serginio1
 
19.02.16
22:17
(24) Еще раз дай ресурс я протестирую и выложу с использованием HTTPClient итд.
Там 3-5 строк кода.
28 Garykom
 
гуру
19.02.16
22:45
еще можно взять код на C из http://www.gzip.org/#sources
и наваять на 1С свой распаковщик
29 Serginio1
 
20.02.16
08:42
Кстати можно автоматически разархивировать
http://stackoverflow.com/questions/20990601/decompressing-gzip-stream-from-httpclient-response

HttpClientHandler handler = new HttpClientHandler()
{
    AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate
};

using (var client = new HttpClient(handler))
{
    // your code
}
30 Serginio1
 
20.02.16
10:19
По русски это выглядит так
врап=новый COMОбъект("NetObjectToIDispatch45");
    uriSources = "https://msdn.microsoft.com/en-us/library/system.net.decompressionmethods(v=vs.110).aspx";;
  HttpClient=Врап.ПолучитьТипИзСборки("System.Net.Http.HttpClient","System.Net.Http.dll");
  handler = врап.СоздатьОбъект("System.Net.Http.HttpClientHandler");
  handler.AutomaticDecompression=Врап.ПолучитьТип("System.Net.DecompressionMethods").GZip ;
  
Клиент=Врап.СоздатьОбъект(HttpClient,handler);
Стр=Клиент.GetStringAsync(uriSources).Result;
//Клиент.Dispose(); // Правильнее ниже если видишь using
Врап.ПолучитьИнтерфейс(Клиент,"IDisposable").Dispose();
Сообщить(СтрДлина(Стр));
31 Serginio1
 
20.02.16
10:28
uriSources подставь свой.
По поводу OR то напишу. Но можно использовать варианты
Как здесь http://catalog.mista.ru/public/417830/
или
Динамическая компиляция для использования .Net событий в 1С

Напишу во врапере OR а то оченьчасто встречается
32 Serginio1
 
20.02.16
14:09
Добавил в новой сборке метод OR http://files.rsdn.ru/19608/%d0%a4%d0%b0%d0%b9%d0%bb%d1%8bNetObjectToIDispatch.zip

теперь можно
DecompressionMethods= Врап.ПолучитьТип("System.Net.DecompressionMethods");
  handler.AutomaticDecompression=Врап.OR(DecompressionMethods.GZip,DecompressionMethods.Deflate) ;

или

NotifyFilters=врап.ПолучитьТип("System.IO.NotifyFilters");
    рез=Врап.OR(NotifyFilters.LastAccess,NotifyFilters.LastWrite,NotifyFilters.FileName,NotifyFilters.DirectoryName);
33 Garykom
 
гуру
20.02.16
14:20
(32) крут, теперь "составные перечисления" можно
34 Serginio1
 
20.02.16
14:25
(33) А это еще чё такое?
35 Serginio1
 
20.02.16
14:26
36 Garykom
 
гуру
20.02.16
14:29
(34) в смысле сделать когда https://msdn.microsoft.com/ru-ru/library/system.drawing.fontstyle(v=vs.110).aspx

шрифт одновременно жирный, курсивный и подчеркнутый
37 Serginio1
 
20.02.16
14:36
(36) У него FlagsAttribute https://msdn.microsoft.com/ru-ru/library/system.flagsattribute(v=vs.110).aspx

Можешь применять
38 Serginio1
 
20.02.16
14:38
39 Crush
 
20.02.16
17:12
(30) Что то не понимаю как переделать код под System.IO.Compression.GZipStream

Делаю так:        GZipStream=Врап.ПолучитьТипИзСборки("System.IO.Compression.GZipStream","System.dll");
И у меня пустой Ком-объект на выходе
40 Crush
 
20.02.16
17:14
В мсдн говорят, что сборка в system.dll https://msdn.microsoft.com/ru-ru/library/system.io.compression.gzipstream(v=vs.110).aspx?cs-save-lang=1&cs-lang=cpp#code-snippet-1
Хотя есть отдельная библиотека System.IO.Compression.dll, но с ней тоже пустой ком-объект.
41 Garykom
 
гуру
20.02.16
17:30
(39) Это не тип а класс

юзай "Врап.СоздатьОбъект"
42 Garykom
 
гуру
20.02.16
17:32
(41)+ если в коде на C# стоит "new" то класс это
43 Crush
 
20.02.16
17:42
(41)

А как правильно параметр передать?

Compression=Врап.СоздатьОбъект("System.IO.Compression.GZipStream[ГзипСтрока]");
по причине:
Произошла исключительная ситуация (NetObjetToIDispatch45):  неверный тип System.IO.Compression.GZipStream[ГзипСтрока]

Compression=Врап.СоздатьОбъект("System.IO.Compression.GZipStream");
по причине:
Произошла исключительная ситуация (mscorlib): Конструктор для типа "System.IO.Compression.GZipStream" не найден.
44 Garykom
 
гуру
20.02.16
17:47
(43) через "," уже параметры передаешь
https://msdn.microsoft.com/ru-ru/library/as1ff51s(v=vs.110).aspx

поток нужно передать и "тип" CompressionMode.Decompress
45 Garykom
 
гуру
20.02.16
17:48
(44)+ лучше попроси Serginio1
46 Crush
 
20.02.16
18:04
:(
    хз2 = врап.СоздатьОбъект("GZipStream(ГзипСтрока, CompressionModeDecompress)");
по причине:
Произошла исключительная ситуация (mscorlib): Невозможно загрузить файл или сборку "CompressionModeDecompress)" или один из зависимых от них компонентов. Неправильный указатель (Исключение из HRESULT: 0x80004003 (E_POINTER))

CompressionMode    =Врап.ПолучитьТип("System.IO.Compression.CompressionMode");
CompressionModeDecompress    =CompressionMode.Decompress;
хз2 = врап.СоздатьОбъект("GZipStream(ГзипСтрока, CompressionModeDecompress)");
47 Crush
 
20.02.16
18:06
И так не прёт:( Какой правильный синтаксис?

        хз2 = врап.СоздатьОбъект("System.IO.Compression.GZipStream",ГзипСтрока, CompressionModeDecompress);
48 Garykom
 
гуру
20.02.16
18:15
(47) правильно, только "ГзипСтрока" - нужно на основе строки создать поток(stream) и "CompressionModeDecompress" - вот это ПолучитьТип
49 Garykom
 
гуру
20.02.16
18:16
(48)+ короче без знаний хотя бы начальных C# это унреал ))
50 Crush
 
20.02.16
18:46
хз2 = врап.СоздатьОбъект("System.IO.Compression.GZipStream(ГзипПоток,CompressionMode.Decompress)");
по причине:
Произошла исключительная ситуация (NetObjetToIDispatch45): Ссылка на объект не указывает на экземпляр объекта.

        Stream        = Новый COMОбъект("ADODB.Stream");
        Stream.Type    = 1; //2 - текст, 1 - бинарный файл
        Stream.Open();
        Stream.LoadFromFile(ИмяФайла);
        ГзипПоток    = Stream.Read();
        Stream.Close();
        врап=новый COMОбъект("NetObjectToIDispatch45");
        CompressionMode    =    Врап.ПолучитьТип("System.IO.Compression.CompressionMode");
        хз2 = врап.СоздатьОбъект("System.IO.Compression.GZipStream(ГзипПоток,CompressionMode.Decompress)");
51 oleg_km
 
20.02.16
18:49
хз2 = врап.СоздатьОбъект("System.IO.Compression.GZipStream", ГзипПоток, CompressionMode.Decompress);


Так наверное
52 Crush
 
20.02.16
18:51
(51) тоже нет:(
        хз2 = врап.СоздатьОбъект("System.IO.Compression.GZipStream", ГзипПоток, CompressionMode.Decompress);
по причине:
Произошла исключительная ситуация (mscorlib): Конструктор для типа "System.IO.Compression.GZipStream" не найден.
53 Crush
 
20.02.16
18:51
хз2 = врап.СоздатьОбъект("System.IO.Compression.GZipStream()", ГзипПоток, CompressionMode.Decompress);
по причине:
Произошла исключительная ситуация (NetObjetToIDispatch45):  неверный тип System.IO.Compression.GZipStream()
54 Crush
 
20.02.16
19:05
Сдвинулся с мёртвой точки.

        GZipStream        =    Врап.ПолучитьТипИзСборки("System.IO.Compression.GZipStream","System.dll");
        GZipStream=Врап.ТипКакОбъект(GZipStream);

Но пока без результата
55 Crush
 
20.02.16
19:32
+(54)
На этом пока и закончу. Ком-объект есть, правда по свойствам и не очень похожий на GZipStream, но имя и пространство имён правильные. Осталось придумать как туда пихнуть поток и получить исходящий распакованный поток.

Вот я думаю, может поток в данном случае нужно подругому формировать. Средствами тогоже фреймворка, а не COMОбъект("ADODB.Stream")?
56 Garykom
 
гуру
20.02.16
19:44
врап=новый COMОбъект("NetObjectToIDispatch45");
    stream = врап.СоздатьОбъект("System.IO.MemoryStream");
    mode = врап.ПолучитьТип("System.IO.Compression.CompressionMode");
    gzip = врап.СоздатьОбъект("System.IO.Compression.GZipStream", stream, mode.Decompress);

дальше лень ((
57 Serginio1
 
20.02.16
22:14
(55) Во первых что ты собрался разархивировать?
Зачем тебе ADODB.Stream если есть FileStream
https://msdn.microsoft.com/ru-ru/library/47ek66wy(v=vs.110).aspx

Завтра напишу. А 30 пробовал?
58 Serginio1
 
20.02.16
22:23
59 Garykom
 
гуру
20.02.16
22:24
(58) ТСу практически бесполезны эти ссылки, а когда выучит C# и .Net сам все что нужно найдет

из строки в строку ему нужно, далее сам сделает что надо
60 Serginio1
 
20.02.16
23:11
58 + или File.OpenRead
https://msdn.microsoft.com/ru-ru/library/system.io.file.openread(v=vs.110).aspx
меньше параметров.
(59) Понятно. Завтра напишу.
61 Serginio1
 
21.02.16
08:10
Блин разбудили.

Вот алгоритм сжатия строки и результат в 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);
    
//===== Процесс разжатия данных из строки кодированной алгоритмом Base64    
    
compressed=Convert.FromBase64String(стр64);

ПотокСжатыхДанных = врап.СоздатьОбъект(MemoryStream,compressed);
GZipПоток =врап.СоздатьОбъект("System.IO.Compression.GZipStream",ПотокСжатыхДанных, CompressionMode.Decompress);
ПотокРазжатыхДанных = врап.СоздатьОбъект(MemoryStream);
GZipПоток.CopyTo(ПотокРазжатыхДанных);
Данные=ПотокРазжатыхДанных.ToArray();
output = UTF8.GetString(Данные);

    Сообщить(output);
62 Serginio1
 
21.02.16
11:06
61+ Посмотри 30,32 там автоматическая разархивация при получении ответа запроса
63 Serginio1
 
21.02.16
18:01
64 Serginio1
 
22.02.16
09:01
При чем если использовать
handler.AutomaticDecompression=Врап.OR(DecompressionMethods.GZip,DecompressionMethods.Deflate) ;


Уходит запрос
GET https://msdn.microsoft.com/en-us/library/system.net.decompressionmethods(v=vs.110).aspx HTTP/1.1
Host: msdn.microsoft.com
Accept-Encoding: gzip, deflate


И приходит ответ

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 17129
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip


Кстати общий размер раскодированной строки
87 624

Так, что можно использовать на тонких каналах
65 Crush
 
29.02.16
14:12
(57) (30) пробовал. Строка не та на выходе получилась. Неделю на больнично был. Сейчас всё заново перепробую.
66 Shamandafil
 
29.02.16
14:25
А может стоит передать заголовок
Accept-Encoding: identity
Указав, что клиент может получать только несжатые данные.
67 Crush
 
29.02.16
14:43
(66) Исключено:) Клиенту должны отправляться сжатые данные, и распаковка должна проходить на стороне клиента.
68 Crush
 
01.03.16
16:58
(61) Автор, ты ГЕНИЙ!!! Спасибо огромное!!!

Вот рабочий код. В файле лежит сжатая строка.

&НаКлиенте
Функция ОтжатьПоток(МассивСжатыхБайт)
    врап=новый COMОбъект("NetObjectToIDispatch45");

    MemoryStream=Врап.ПолучитьТип("System.IO.MemoryStream");
    UTF8=Врап.ПолучитьТип("System.Text.Encoding").UTF8;
    CompressionMode = врап.ПолучитьТип("System.IO.Compression.CompressionMode");
    
    ПотокСжатыхДанных = врап.СоздатьОбъект(MemoryStream,МассивСжатыхБайт);
    GZipПоток =врап.СоздатьОбъект("System.IO.Compression.GZipStream",ПотокСжатыхДанных, CompressionMode.Decompress);
    ПотокРазжатыхДанных = врап.СоздатьОбъект(MemoryStream);
    GZipПоток.CopyTo(ПотокРазжатыхДанных);
    Данные=ПотокРазжатыхДанных.ToArray();
    output = UTF8.GetString(Данные);
    Возврат output;
КонецФункции

&НаКлиенте
Процедура Net2(Команда)
    Stream        = Новый COMОбъект("ADODB.Stream");
    Stream.Type    = 1; //2 - текст, 1 - бинарный файл
    Stream.Open();
    Stream.LoadFromFile(ИмяФайла);
    
    Сообщить(ОтжатьПоток(Stream.Read()));
    
КонецПроцедуры
69 Shamandafil
 
01.03.16
17:10
(68) Здесь ADODB.Stream лишний. Почему System.IO.FileStream не использован, можно было на переупаковках сэкономить. И потоки зря не закрыты после использования.
70 Crush
 
01.03.16
17:49
(69) ADODB.Stream здесь только для теста (что б вытащить строку из файла)
А так то сжатый массив получаю из WinHttp.WinHttpRequest.5.1
WinHttp.responseBody
71 Garykom
 
гуру
01.03.16
18:12
(69) адодб не лишний походу, а чтобы ВК на клиенте не ставить, только нас сервере
72 Serginio1
 
01.03.16
18:21
(71) Используй HTTPClient. ReadAsStream().Result
Меньше телодвижений.
HttpClient=Врап.ПолучитьТипИзСборки("System.Net.Http.HttpClient","System.Net.Http.dll");

Клиент=Врап.СоздатьОбъект(HttpClient,handler);

ПотокСжатыхДанных =Клиент.GetStreamAsync(uriSources).Result;
73 Serginio1
 
01.03.16
18:23
Или

ПотокСжатыхДанных =Врап.ПолучитьТип("System.IO.File").OpenRead(ИмяФайла);
74 Serginio1
 
01.03.16
18:24
Правда не забывай закрыть ресурсы
Процедура ЗакрытьРесурс(Ресурс)
    Врап.ПолучитьИнтерфейс(Ресурс,"IDisposable").Dispose();
КонецПроцедуры

ЗакрытьРесурс(ПотокСжатыхДанных)
75 Serginio1
 
01.03.16
19:45
72 Правильно
HttpClient=Врап.ПолучитьТипИзСборки("System.Net.Http.HttpClient","System.Net.Http.dll");

Клиент=Врап.СоздатьОбъект(HttpClient);

ПотокСжатыхДанных =Клиент.GetStreamAsync(uriSources).Result;

Телодвижений значительно меньше.

А если приходит ответ
Content-Encoding: gzip
То должен автоматически разжиматься как в 30
76 Crush
 
02.03.16
12:00
(72) Попробую с ним разобраться как заголовки передавать и POST-запрос.

(74) т.е. ресурс сам не закрывается при выходе из процедуры?
Или это от того, что переменная врап - глобальная?
77 trdm
 
02.03.16
12:48
78 Garykom
 
гуру
02.03.16
12:50
(77) неа, для 1С-ника проще с .Net разобраться чем с C++ и написанием своих ВК или аналогов
79 Serginio1
 
02.03.16
12:59
(76) А они автоматически передаются

HttpClient=Врап.ПолучитьТипИзСборки("System.Net.Http.HttpClient","System.Net.Http.dll");
  handler = врап.СоздатьОбъект("System.Net.Http.HttpClientHandler");
  DecompressionMethods= Врап.ПолучитьТип("System.Net.DecompressionMethods");
  handler.AutomaticDecompression=Врап.OR(DecompressionMethods.GZip,DecompressionMethods.Deflate) ;
  
  Сообщить(Врап.Встроку(handler.AutomaticDecompression));
  Клиент=Врап.СоздатьОбъект(HttpClient,handler)
80 Serginio1
 
02.03.16
13:01
(76) Особенность .Net в том, что если ты не закрыл ресурсы, то они закроются только после сборки мусора, а этот момент может наступить не скоро
81 Serginio1
 
02.03.16
14:10
Посмотри фиддлером какие заголовки отправляются и приходят
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан