web-dev-qa-db-fra.com

HTTP2 avec CURL donne "Protocole non pris en charge"

Ayant déjà suivi les étapes de ici , j'ai encore Unsupported Protocol lors de l'utilisation de curl --http2 option. De même, la définition de CURLOPT_HTTP_VERSION à CURL_HTTP_VERSION_2_0 fait en sorte que le programme communique via HTTP/1.1, pas HTTP/2.

Plate-forme: Ubuntu 15.04 sur VMware Player 7.

J'ai installé nghttp2-1.0.4 avec --prefix=/usr/local, d'où libnghttp2. * est situé dans /usr/local/lib.

Voici le code pour configurer curl-7.43.0:

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

Le résultat montre que HTTP2 est activé:

    HTTP2 support:    enabled (nghttp2)

Après make et Sudo make install, ce qui suit renvoie Unsupported Protocol:

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

La version curl ne montre pas que nghttp2 est pris en charge:

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

Ensuite, j'ai suivi l'avis de ici , que je dois avoir OpenSSL 1.0.2 ou supérieur. Après avoir installé cela dans/opt/openssl, j'ai reconfiguré:

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

Après make et Sudo make install, tous les problèmes restent les mêmes. Curieusement, le curl --version renvoie toujours les mêmes informations que ci-dessus, avec OpenSSL/1.0.1f pas encore mis à niveau.

Toute aide qui me permet d'utiliser avec succès le --http2 l'option est grandement appréciée.

17
Curioso

Apparemment, vous ne vous connectez pas avec la bonne version de curl, au moins à l'exécution. C'est ce que signifie la sortie libcurl/7.38.0. Le mien a un numéro de version plus élevé. Essayer

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

comme votre commande. Ou juste pour être sûr:

ldd `which curl` 

et faites attention aux dépendances qui apparaissent dans la liste.

6
dsign

J'ai trouvé curl 7.53.1 pour Windows cet outil très utile pour tester les requêtes http2. Il a des versions précompilées de curl pour Windows construites avec le support OpenSSL, ngttp2, zlib et IPv6.

1
Devendra

Celui-ci m'aide vraiment à le configurer correctement

0
khushbu