素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

投稿日: 2018年10月19日
最終更新日:

【使い方】Homebrewを使ってmacのcurlでHTTP2を使える様にする方法【gRPC】

YouTubeも見てね♪

Anker PowerCor

created by Rinker
Anker
¥4,990 (2024/03/15 15:06:44時点 Amazon調べ-詳細)

旅行には必須の大容量モバイルバッテリー!

[ノースフェイス] THE NORTH FACE メンズ アウター マウンテンライトジャケット

created by Rinker
THE NORTH FACE(ザノースフェイス)
¥29,280 (2024/03/15 19:06:01時点 Amazon調べ-詳細)

防水暴風で耐久性抜群なので旅行で大活躍です!

レッドブル エナジードリンク 250ml×24本

created by Rinker
Red Bull(レッドブル)
¥4,080 (2024/03/15 19:03:47時点 Amazon調べ-詳細)

翼を授けよう!

モンスターエナジー 355ml×24本 [エナジードリンク]

created by Rinker
モンスター
¥4,748 (2024/03/15 19:03:48時点 Amazon調べ-詳細)

脳を活性化させるにはこれ!

ドラゴンクエスト メタリックモンスターズギャラリー メタルキング

created by Rinker
スクウェア・エニックス(SQUARE ENIX)
¥3,250 (2024/03/15 19:03:48時点 Amazon調べ-詳細)

みんな大好き経験値の塊をデスクに常備しておこう!

Bauhutte ( バウヒュッテ ) 昇降式 L字デスク ブラック BHD-670H-BK

created by Rinker
Bauhutte(バウヒュッテ)
¥13,861 (2024/03/15 15:06:46時点 Amazon調べ-詳細)

メインデスクの横に置くのにぴったりなおしゃれな可動式ラック!

サンディスク microSD 128GB

スマホからSwitchまで使える大容量MicroSDカード!

curlでHTTP2をしたい

最近巷ではgRPCが流行っていますね。
gRPCといえば、Googleが2015年5月に開発したOSSのRPCフレームワークです。

Google社内でもこのフレームワークを使っているらしいですね。
そして、このgRPCはHTTP2を前提に作られています。

HTTPに関する説明は割愛しますが、curlでHTTP2のリクエストを投げるにはそのままでは実現が出来ません。

が、もちろん拡張を行うことで投げることが可能になるとのことでしたので試してみました。

手順

前提

macにはすでにHomebrewで入れたHTTP2に対応していないcurlがインストールされているものとします。

ダメな例

curlをアンインストールしてから再インストール

gitなどをインストールしている状態でbrew uninstall curlを実行すると、以下のような依存関係によるエラーが出てしまいます。

brew uninstall --ignore-dependencies curlで行けるとのことですが、依存関係を壊すのは怖いのでやめました。

正しいやり方

Homebrewでリインストール

すでにHomebrewでインストール済みのコマンドを再度インストールしたい場合はbrew reinstall XXXを使うようにしましょう。
今回で言うとbrew reinstall curl --with-nghttp2ですね。

すると、以下のログが出てインストールが完了します。

curlのパスを変更

もし、curlコマンドがHomebrewで落としたものを見ていない場合、向き先を変える必要があります。

which curlコマンドで確認をして、/usr/bin/curlになっている場合は以下をシェルの設定ファイルに追加します。
筆者はzshを使っているので~/.zshrcとなります。

確認

では、もう一度以下のコマンドを実行してみてください。

HTTP2が追加されていますね。

以下のコマンドも実行してみましょう。

すると以下の様なログが出ると思います。

HTTP/2 200が出ているのでHttp2での通信が出来ているようですね。

終わりに

HTTPの登場によって、インターネットの世界が革新的に進化した様に、HTTP2の登場によってさらに進化すると筆者は思っています。

今のうちからHTTP2に触れておくことでスタートダッシュが切れるかもしれないので、触ってみてはいかがでしょうか♪

CATEGORIES & TAGS

IT