我想利用現有的壓縮機網狀的響應,增加通道的管道下面一行如何使用Netty的平減指數來壓縮發送到瀏覽器
pipeline.addLast("gzip", new HttpContentCompressor());
我"Content-Encoding"
設置響應頭"gzip"
。
我在這裏的問題是如何設置的內容,我嘗試以下
response.setContent(ChannelBuffers.copiedBuffer(responseText, CharsetUtil.UTF_8));
其中responseText
- >字符串,我要發送到瀏覽器。
我得到一個錯誤,內容是不是gzip流
org.jboss.netty.handler.codec.embedder.CodecEmbedderException: org.jboss.netty.handler.codec.compression.CompressionException: 壓縮失敗(-3):不是一個gzip流
我應該gzip壓縮responseText
,然後做一個setContent(gzippedResponse)
?還是我在這裏錯過了什麼?
感謝@Veebs。這得到了東西的工作,異常的原因是我沒有通過請求後面的頭文件request.setHeader(HttpHeaders.Names.ACCEPT_ENCODING,HttpHeaders.Values.GZIP);' – Sundar 2012-01-04 10:35:04