首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解压缩gzipstream

解压缩gzipstream
EN

Stack Overflow用户
提问于 2012-10-22 03:49:54
回答 2查看 625关注 0票数 1

我做了一个简单的代理服务器。工作正常,但gzip解压缩不是这样的:

  1. 神奇的数字是不正确的。确定一下。
  2. 没有错误,但是gzipstream不会解压缩。

它的工作如下:

代码语言:javascript
复制
private void HandleTraffic()
{
    while ((bytesRead = realServer.Receive(buffer, 0, BODYBUFFERSIZE, SocketFlags.None)) > 0)
    {
        decompressedBuffer = new byte[BODYBUFFERSIZE];
        if (t == "gzip")
        {

            MemoryStream outputStream = new MemoryStream(), inputStream = new MemoryStream();
            inputStream.Write(buffer, 0, bytesRead);
            inputStream.Position = 0;
            inputStream.Flush();
            using (GZipStream gz = new GZipStream(inputStream, CompressionMode.Decompress))
            {
                gz.CopyTo(outputStream);
            }

            decompressedBuffer = outputStream.ToArray();

            MessageBox.Show(ASCIIEncoding.ASCII.GetString(decompressedBuffer));
        }
    }
}

InputStream被填充,但是outputStream没有被解压缩,或者给出了错误“神奇的数字不正确”。

在这项工作中,需要套接字。

EN

回答 2

Stack Overflow用户

发布于 2012-10-22 09:07:52

您不需要以任何方式处理代理服务器中的数据,不管是解压缩还是泄气。复制字节。您甚至需要查看的唯一数据是来自客户端的第一行命令。

票数 0
EN

Stack Overflow用户

发布于 2013-02-27 17:32:17

对我来说,解决这个问题的办法是关掉Fiddler。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13004753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档