2010-02-27 70 views
3

我使用winsock发出http请求,我需要解析响应。问题在于,无论我在我的请求标头中指定了什么,某些站点都可以使用gzip。我甚至试图将请求降级到HTTP/1.0,但没有成功。所以现在我要添加deflate/gzip支持并且没有运气。我让我的程序将压缩内容写入文件。然后我试着用gzip工具解压缩它,但它给出了一个错误,说它是一个多部分gzip文件。经过一番阅读后,我发现这是由于gzip头没有作为二进制文件处理而被破坏引起的。我不确定此时该做什么。C http请求gzip(zlib)

回答

3

当您将gzip压缩的数据写入文件时,是否将它作为二进制文件打开?假设你在标题中使用C,你是否打开fopen(...,“wb”)

+0

我试过这个,但它没有帮助。它实际上对文件写了完全相同的东西。 – 2010-02-27 06:42:26

+0

您是否正在使用FILE流从Web服务器读取数据?在那种情况下,是否以二进制打开? – 2010-02-27 09:12:20

+0

没关系,我明白了。感谢您的帮助。 – 2010-02-28 07:38:42