それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

最新版のcurl をビルドしてみる。

curl の新機能を試したい。

Output HTTP headers from the most recent request by using %header{name} where name is the case insensitive name of the header (without the trailing colon). The header contents are exactly as sent over the network, with leading and trailing whitespace trimmed. Added in curl 7.84.0.

便利じゃん。使いたいじゃん。でもapt 提供パッケージじゃ使えないじゃん。

最新版のCurlを入れる。

最新版のcurl に面白い機能が追加されてた(ヘッダを-w でwrite out ) のでビルドして試してみることにした。

依存パッケージ

apt install -y build-essential libssl-dev

最新版のソースを取得

https://curl.se/download/から最新版のソースを取得

curl -LJO https://curl.se/download/curl-7.87.0.tar.gz
tar zxvf curl-7.87.0.tar.gz
cd curl-7.87.0

ビルド

ビルドオプションは最低限にした。

./configure  --with-ssl --with-zlib 
make -j `nproc`

make install はしない。

インストールするとlibcurl が変わっちゃうので、システム全体でlibcurlに依存する他システムにも影響が及んでしまう。

動かしてみる

bash src/curl -V
bash src/curl https://www.apple.com/

7.80 / 7.84 以降の機能を使う。

src/curl -I -w '%header{date}\n' https://www.apple.com/
src/curl -I -w '%{header_json}\n' https://www.apple.com/

動いた。これ(-w %header{XXX})、便利すぎる!

参考資料

https://www.uxlinux.com/install-latest-curl-version-on-ubuntu-vestacp/