如何启用libcurl解压缩windows上的gzip数据?

时间:2014-10-28 17:27:20

标签: windows libcurl zlib compression

我使用以下命令构建了openssl和zlib然后libcurl

nmake -f Makefile.vc6 CFG=release-dll-ssl-dll-zlib-dll

在输出中,我可以看到在zlib类的编译过程中启用了libcurl

但是当我使用libcurl获取具有以下设置的压缩页面时,响应不会被解压缩。

curl_easy_setopt(handle, CURLOPT_ENCODING, "");
curl_easy_setopt(handle, CURLOPT_HTTP_CONTENT_ENCODING, 1L);

CURLOPT_ENCODING is defined as CURLOPT_ACCEPT_ENCODING.

The libcurl version is 7.35.0. zlib version is 1.2.8 and openssl version is 1.0.1i.

真的很感激是否有人在Windows上使用libcurl来解压缩数据并分享您的体验。感谢。

2 个答案:

答案 0 :(得分:0)

CURLOPT_HTTP_CONTENT_ENCODING不是有效的libcurl选项!

你可能意味着CURLOPT_HTTP_CONTENT_DECODING,但你不需要这里。只需将CURLOPT_ACCEPT_ENCODING设置为“”即可,但需要启用libcurl zlib才能使其请求压缩内容并在接收时自动解压缩。

此功能在所有支持的平台上的工作方式相同。这是完全相同的代码运行。如果它不能在特定平台上运行,我会怀疑你的libcurl实际上没有启用它。

答案 1 :(得分:-1)

我已经找到了问题所在。新的libcurl lib实际上是用zlib启用的。问题出在我的安装程序中,它不会将新的libcurl lib复制到安装目录。在我手动替换lib之后,解压缩工作了!

谢谢!