2015-06-25 11 views
13

Zaten here adımları izledim, --http2 curl curl kullanırken hala Unsupported Protocol var. Benzer şekilde, CURLOPT_HTTP_VERSION'un CURL_HTTP_VERSION_2_0'a ayarlanması, HTTP/2 değil HTTP/1.1 kullanılarak iletişim kurulmasına neden olur.CURL ile HTTP2 "Desteklenmeyen Protokol" verir

Platformu:. Ubuntu 15.04 VMware Player 7.

ben dolayısıyla libnghttp2 * /usr/local/lib bulunan, --prefix=/usr/local ile nghttp2-1.0.4 yüklediniz.

HTTP2 support: enabled (nghttp2) 

make ve sudo make install sonra aşağıdaki döner Unsupported Protocol:

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

sonuç HTTP2 etkin olduğunu göstermektedir:

Bu

bukle-7.43.0 yapılandırmak için koddur
curl --http2 https://http2.akamai.com 

Kıvrılma versiyonu nghttp2 göstermiyor desteklenir:

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 

Sonra ben OpenSSL 1.0.2 veya daha yüksek olması gerektiğini, here dan tavsiye izledi./Opt/openssl içinde, ben yeniden yüklü olması:

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

make ve sudo make install sonra tüm sorunlar aynı kalır. Gariptir ki, curl --version hala, yukarıdaki gibi aynı bilgiyi verir, OpenSSL/1.0.1f henüz güncellenmemiştir.

--http2 seçeneğini başarıyla kullanmama izin veren herhangi bir yardım büyük beğeni topluyor.

cevap

4

Görünüşe göre, en azından çalışma zamanında, doğru kıvrımlı sürümüyle bağlantı kurmuyorsunuz. Libcurl/7.38.0 çıktısının anlamı budur. Benimkinde daha yüksek bir versiyon numarası var. Komutu olarak

'u deneyin. Ya da emin olmak için:

ve listelenen bağımlılıklara dikkat ediniz.

+1

Yukarıdaki ikinci komut, hala varsayılan kitaplığı/lib/i386-liux-gnu'yu kullanıyorum gösterir. Yukarıdaki ilk kod olarak kütüphane yolunu ayarlamak sorunu çözdü. Curl şimdi http2 konuşuyor. Teşekkürler! – Curioso

+0

Burada önerildiği gibi [burada] (http://stackoverflow.com/questions/12636536/install-curl-with-openssl), 'sudo' before './Configure' komutunu kullanın. Sudo olmadan, benim işe yaramadı. – Curioso

+0

Hala sorun yaşıyorum. ~~~~ autoreconf -i automake autoconf sudo ./configure prefix =/usr/local sudo sudo make install LD_LIBRARY_PATH =/usr/lib/yerel bukle --http2 http: // google.com curl: (1) Desteklenmeyen iletişim kuralı ~~~~ – user1928764