使用 brotli 压缩进行卷曲

使用 brotli 压缩进行卷曲

我如何使用curl获取页面brotli 压缩

根据发行说明这应该可以做到。我的 curl 版本似乎没问题:

$ curl -V
curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
Release-Date: 2018-01-24
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL

apt-get install还声称curl is already the newest version (7.58.0-2ubuntu3.8).

但是,当我尝试获取页面时出现错误:

$ curl --compressed https://httpbin.org/brotli
curl: (61) Unrecognized content encoding type. libcurl understands deflate, gzip content encodings.
$ curl https://httpbin.org/brotli
Warning: Binary output can mess up your terminal. Use "--output -" to tell 
Warning: curl to output it to your terminal anyway, or consider "--output 
Warning: <FILE>" to save to a file.

我遗漏了什么?我也尝试安装libbrotli-dev,但这并没有改变任何东西。

答案1

一种选择是使用独立 brotli 工具解压缩文件,例如

curl https://httpbin.org/brotli | brotli -d -

答案2

您需要等到 Ubuntu 将 libbrotli 支持添加到 curl(可能在 Ubuntu 20)...或者使用 brotli 支持重新编译 curl。

“重新编译”可能听起来很可怕,但实际上相当简单,在这里你可以找到有关它的说明 ->https://curl.haxx.se/docs/install.html(请确保添加新选项--with-brotli和上面提到的 libbrotli-dev 包以正常工作)。

相关内容