Подтвердить что ты не робот

HTTP2 с CURL дает "Неподдерживаемый протокол",

После выполнения шагов из здесь, у меня есть Unsupported Protocol при использовании параметра curl --http2. Аналогично, установка CURLOPT_HTTP_VERSION в CURL_HTTP_VERSION_2_0 приводит к передаче программы с использованием HTTP/1.1, а не HTTP/2.

Платформа: Ubuntu 15.04 на VMware Player 7.

Я установил nghttp2-1.0.4 с --prefix=/usr/local, поэтому libnghttp2. * находится в /usr/local/lib.

Это код для настройки curl-7.43.0:

./configure --with-nghttp2=/usr/local

Результат показывает, что HTTP2 включен:

    HTTP2 support:    enabled (nghttp2)

После make и sudo make install, возвращается Unsupported Protocol:

curl --http2 https://http2.akamai.com

Версия curl не поддерживает nghttp2:

curl 7.43.0 (i686-pc-linux-gnu) libcurl/7.38.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API SPNEGO NTLM NTLM_WB SSL libz TLS-SRP

Затем я следил за советом из здесь, что мне нужно иметь OpenSSL 1.0.2 или новее. Установив это в /opt/openssl, я переконфигурировал:

./configure --with-nghttp2=/usr/local --with-ssl=/opt/openssl/lib

После make и sudo make install все проблемы остаются неизменными. Как ни странно, curl --version по-прежнему возвращает ту же информацию, что и выше, при этом OpenSSL/1.0.1f еще не обновлен.

Приветствуется любая помощь, которая позволяет мне успешно использовать параметр --http2.

4b9b3361

Ответ 1

По-видимому, вы не связываетесь с правильной версией curl, по крайней мере во время выполнения. Это то, что означает выход libcurl/7.38.0. У меня есть более высокий номер версии. Попробуйте

LD_LIBRARY_PATH=/usr/local/lib curl <whatever> 

в качестве вашей команды. Или просто быть уверенным:

ldd `which curl` 

и обратите внимание на зависимости, которые отображаются в списке.

Ответ 2

Это действительно помогает мне настроить его правильно

Ответ 3

Я нашел curl 7.53.1 для Windows, этот инструмент очень полезен для проверки запросов http2. Он имеет предварительно скомпилированные сборки curl для Windows, созданные с поддержкой OpenSSL, ngttp2, zlib и IPv6.