сжатие трафика

exe123

Пользователь
Регистрация
23.07.2016
Сообщения
83
Благодарностей
10
Баллы
8
Вообщем, когда начинаю работать с шаблоном, в браузере интернет уже не работает, шаб на запросах, вопрос в том, можно ли как то сжать пакеты?
 

S16er1um

Client
Регистрация
14.04.2016
Сообщения
826
Благодарностей
240
Баллы
43
  • Спасибо
Реакции: Geograph и leva001

exe123

Пользователь
Регистрация
23.07.2016
Сообщения
83
Благодарностей
10
Баллы
8

Lord_Alfred

Client
Регистрация
09.10.2015
Сообщения
3 916
Благодарностей
3 867
Баллы
113
Если я ничего не путаю, то достаточно будет добавить заголовок Accept вроде бы с gzip, deflate, но могут появиться проблемы при получении данных (не уверен, что кубик GET-запроса разберет gzip ответ)
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
gzip, deflate зависят только от сервера. Если он поддерживает, то данные будут отправляться в сжатом варианте, а если нет, то нет
 

Lord_Alfred

Client
Регистрация
09.10.2015
Сообщения
3 916
Благодарностей
3 867
Баллы
113

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
gzip, deflate зависят только от сервера. Если он поддерживает, то данные будут отправляться в сжатом варианте, а если нет, то нет
И понимает это все броузер при получении ответа от сервера.
 

Geograph

Client
Регистрация
16.02.2014
Сообщения
209
Благодарностей
114
Баллы
43
gzip, deflate зависят только от сервера. Если он поддерживает, то данные будут отправляться в сжатом варианте, а если нет, то нет
Только на GET/POST-запросах самому придется через GZipStream распаковывать сжатый ответ, а браузер это делает сам.
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
Только на GET/POST-запросах самому придется через GZipStream распаковывать сжатый ответ, а браузер это делает сам.
на пост/гет уже давно работает поддержка дешифровки, плюс всегда можно использовать поток qzipstream или deflate stream для шифрования или дешифровки потоков и для этого достаточно добавить 1 строку кода.
 

Geograph

Client
Регистрация
16.02.2014
Сообщения
209
Благодарностей
114
Баллы
43
на пост/гет уже давно работает поддержка дешифровки, плюс всегда можно использовать поток qzipstream или deflate stream для шифрования или дешифровки потоков и для этого достаточно добавить 1 строку кода.
Не знал, а обработку куки не сделали?
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
Не знал, а обработку куки не сделали?
Это я рассказываю про класс httpwebresponse, там уже давно есть всё что нужно. И куки автоматом собирает и дешифровку делает при правильной настройке и много остальных возможностей.
 

exe123

Пользователь
Регистрация
23.07.2016
Сообщения
83
Благодарностей
10
Баллы
8
Честно говорят, я ничего не понял.
 

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
Не переживай, тут программисты в топик влезли. )
Многие наверное думают, что научиться по-настоящему кодить очень сложно и долго. Я сам год назад так думал и тогда даже не знал, что такое переменная. А сейчас уже более-менее нормально всем владею, так что если начинать, то можно именно прямо сейчас.
 
  • Спасибо
Реакции: moRL, budora и one

vmc

Client
Регистрация
15.03.2015
Сообщения
72
Благодарностей
13
Баллы
8
дешифровки потоков и для этого достаточно добавить 1 строку кода
Здравствуйте!
Подскажите, как можно из строки (именно тип string), содержащую сжатый текст, формата
Код:
1F-8B-08-00-00-00-00-00-00-FF-AA-56-2A-C8-CC...
получить исходный текст, дешифровать эту строку?
Нашёл процедуру UnZip, только в ней на вход потупает byte [], у меня же string.
Я так понимаю, каждое двузначное число в моём тексте это и есть один символ byte[].
 

vmc

Client
Регистрация
15.03.2015
Сообщения
72
Благодарностей
13
Баллы
8
Решил так:

Код:
       using System.IO.Compression ;
       using System.Globalization ;

        public static string UnZip(string value)
        {
           
           
            string strValue = "" ;
            string s1 = value.Replace("-", "") ;
            for( int i = 0 ; i < s1.Length-2 ; i += 2 )
            {
                strValue += (char)Int16.Parse(s1.Substring(i, 2), NumberStyles.AllowHexSpecifier);
            }           
           
           
            //Transform string into byte[]
            byte[] byteArray = new byte[strValue.Length];
            int indexBA = 0;
            foreach (char item in strValue.ToCharArray())
            {
                byteArray[indexBA++] = (byte)item;
            }

            //Prepare for decompress
            System.IO.MemoryStream ms = new System.IO.MemoryStream(byteArray);
            System.IO.Compression.GZipStream sr = new System.IO.Compression.GZipStream(ms,
                System.IO.Compression.CompressionMode.Decompress);

            //Reset variable to collect uncompressed result
            byteArray = new byte[byteArray.Length];

            //Decompress
            int rByte = sr.Read(byteArray, 0, byteArray.Length);

            //Transform byte[] unzip data to string
            System.Text.StringBuilder sB = new System.Text.StringBuilder(rByte);
            //Read the number of bytes GZipStream red and do not a for each bytes in
            //resultByteArray;
            for (int i = 0; i < rByte; i++)
            {
                sB.Append((char)byteArray[i]);
            }
            sr.Close();
            ms.Close();
            sr.Dispose();
            ms.Dispose();
            return sB.ToString();
        }
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)