Как я могу использовать 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 уже является самой новой версией (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
, но это ничего не изменило.
Вам нужно либо подождать, пока Ubuntu добавит поддержку libbrotli в curl (возможно, в Ubuntu 20) ... либо перекомпилировать curl с поддержкой brotli.
«Перекомпилировать» может показаться пугающим, но на самом деле это довольно просто, здесь вы можете найти инструкции по этому поводу -> https://curl.haxx.se/docs/install.html (убедитесь, что вы добавляете новую опцию --with-brotli
и упомянутый выше пакет libbrotli-dev для правильной работы).