|
When we directly use the curl to request a https page, you can see the default default returns HTTP1.1 the response. Now use HTTP2 website more and more, technology is more mature, how to enable curl command HTTP 2 support becomes a problem.
curl -I https://nghttp2.org/
When we tried to use http2 parameters, it will return a non-supported protocols "curl: (1) Unsupported protocol" error:
curl --http2 -I https://nghttp2.org/
We can use the following command to see the curl version:
curl --version
We can see that the current protocol version and features curl and supported without the support HTTP2.
Enable curl command HTTP2 support
Compile and install nghttp2
In order to curl support HTTP2 we need to install nghttp2 (http2 C library):
# Install the compiler tools
sudo apt-get install git g ++ make binutils autoconf automake autotools-dev libtool pkg-config \
zlib1g-dev libcunit1-dev libssl-dev libxml2-dev libev-dev libevent-dev libjansson-dev \
libjemalloc-dev cython python3-dev python-setuptools
# Compiler installation nghttp2
git clone https://github.com/tatsuhiro-t/nghttp2.git
cd nghttp2
autoreconf -i
automake
autoconf
./configure
make
sudo make install
Upgrade curl version
cd ~
sudo apt-get build-dep curl
wget http://curl.haxx.se/download/curl-7.46.0.tar.bz2
tar -xvjf curl-7.46.0.tar.bz2
cd curl-7.46.0
./configure --with-nghttp2 = / usr / local --with-ssl
sudo make && make install
echo '/ usr / local / lib'> /etc/ld.so.conf.d/local.conf
ldconfig
After the upgrade finished version, will be released again when we view the curl version properties will increase HTTP2 function support. At this point -http2 parameters can be used as normal
curl --http2 -I https://nghttp2.org
Test curl with http2
We then use the following command to test to see abc.com Homepage:
curl --http2 -I https://www.abc.com |
|
|
|