Отправка gzipped данные в WebRequest?

конструктор dict принимает аргументы ключевого слова:

>>> dict(foo=1, bar=2)
{'foo': 1, 'bar': 2}
16
задан 26 July 2009 в 03:57
поделиться

4 ответа

Я просмотрел исходный код mod_gzip и не смог найти никакого кода, который распаковывает данные . Очевидно, mod_gzip сжимает только исходящие данные, что в конце концов не слишком удивительно. Функциональность, которую вы ищете, вероятно, используется редко, и я боюсь, что вам придется самостоятельно выполнять декомпрессию на сервере.

4
ответ дан 30 November 2019 в 23:09
поделиться

Что касается вашего вопроса, применимо ли Content-Encoding к заголовкам, предоставляемым клиентом - в соответствии со стандартом HTTP / 1.1 , это:

(из раздела 7)

Сообщения запроса и ответа МОГУТ передавать объект, если иное не ограничено методом запроса или кодом состояния ответа.

(из раздела 7.1)

  entity-header = Allow; Раздел 14.7
| Content-Encoding; Раздел 14.11
| Content-Language; Раздел 14.12
| Content-Length; Раздел 14.13
| Контент-Местоположение; Раздел 14.14
| Content-MD5; Раздел 14.15
| Content-Range; Раздел 14.16
| Тип содержимого ; Раздел 14.17
| Истекает; Раздел 14.21
| Последнее изменение ; Раздел 14.29
| заголовок расширения
4
ответ дан 30 November 2019 в 23:09
поделиться

According to http://www.dominoexperts.com/articles/GZip-servlet-to-gzip-your-pages

You should setContentType() to the original format, as you are doing with the application/x-www-form-urlencoded I assume. Then...

 // See if browser can handle gzip
 String encoding=req.getHeader("Accept-Encoding");
 if (encoding != null && encoding.indexOf("gzip") >=0 ) {  // gzip browser 
      res.setHeader("Content-Encoding","gzip");
      OutputStream o=res.getOutputStream();
      GZIPOutputStream gz=new GZIPOutputStream(o);
      gz.write(content.getBytes());
      gz.close();
      o.close();
            } else {  // Some old browser -> give them plain text.                        PrintWriter o = res.getWriter();
                    o.println(content);
                    o.flush();
                    o.close();
            }
1
ответ дан 30 November 2019 в 23:09
поделиться

Вам необходимо изменить

req.Headers.Add("Content-Encoding: gzip");

на

req.Headers.Add("Content-Encoding","gzip");
2
ответ дан 30 November 2019 в 23:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: