解压缩并解码来自SslStream的http(gzip和chunked)响应c#

时间:2016-07-20 01:11:48

标签: c# http encoding

我出于某种原因使用SslStream类,而不能使用WebClient Class。

作为标题我得到了回复:

Transfer-Encoding: chunked
Content-Encoding: gzip

当我尝试正常读取响应时,它会给出响应头,然后是这样的字符:1297 ?ΔE)EBM ??? X?KR

我尝试使用GZipStream类:

    bytes = new Byte[256];
    data = null;
    i = 0;
    GZipStream gz = new GZipStream(stream, CompressionMode.Decompress);
    while ((i = gz.Read(bytes, 0, bytes.Length)) != 0)
    {
        // Translate data bytes to a ASCII string.
        data += System.Text.Encoding.ASCII.GetString(bytes, 0, i);
    }
    Debug.WriteLine(data);

但它给出了'System.IO.InvalidDataException'类型的异常 附加信息:GZip标头中的幻数不正确。确保传入GZip流。

我首先尝试读取头字节,并且当开始读取主体时它会给出相同的异常

0 个答案:

没有答案