C语言HTTP请求gzip压缩(zlib)

3

我正在使用winsock进行http请求,并需要解析响应。问题在于,一些网站无论我在请求头中指定什么都会使用gzip压缩。我甚至尝试将请求降级为HTTP/1.0,但没有成功。因此,现在我想添加deflate / gzip支持,但没有成功。我让程序将压缩内容写入文件,然后尝试使用gzip工具进行解压缩,但它报错说这是一个多部分gzip文件。经过一些阅读,我发现这是由于gzip头部损坏而导致的,因为没有被处理为二进制。我不确定该怎么做。

1个回答

3

当您将gzipped数据写入文件时,您是否将其作为二进制文件打开?假设您使用的是标题中的C语言,您是否使用fopen(..., "wb")进行了打开?


我试过这个,但并没有起作用。它实际上将完全相同的内容写入了文件。 - Ilia Choly
你是使用FILE流从Web服务器读取数据吗?如果是这样,那么它是否以二进制方式打开? - Thomas Padron-McCarthy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接