【エイチティーティーパイ】

HTTPie とは?

💡 curlに読みやすさの魔法をかけたHTTPクライアント
📌 このページのポイント
HTTPie vs curl — HTTPクライアントの比較 curl curl -X POST \ -H "Content-Type: application/json" \ -d '{"name":"v"}' \ https://api.example.com HTTPie http POST \ api.example.com \ name=val JSON・ヘッダは自動付与 項目 curl HTTPie JSON送信 手動でヘッダ指定 自動 レスポンス 生テキスト 色付き整形 学習コスト オプション多数 直感的 HTTPie は「人間のための HTTP クライアント」がコンセプト
HTTPie と curl の比較イメージ
ひよこ ひよこ

curlのオプションが多すぎて毎回調べないと使えない…

ペンギン先生 ペンギン先生

HTTPieなら`http GET example.com/api`と書くだけだよ。HTTPメソッドURLを書くだけで、ヘッダーの設定もデフォルトで良い感じにしてくれるんだ

ひよこ ひよこ

JSONを送りたい時はどうするの?

ペンギン先生 ペンギン先生

`http POST api.example.com name=taro age:=25`と書けばOK。=でテキスト、:=で数値やboolを指定できる。Content-Typeも自動でapplication/jsonになるよ

ひよこ ひよこ

レスポンスも見やすいの?

ペンギン先生 ペンギン先生

JSONのレスポンスが自動でインデントされてシンタックスハイライトも付くんだ。curlだと`| jq .`を付けないと読めないところが、HTTPieならそのまま読めるよ

ひよこ ひよこ

認証が必要なAPIはどうするの?

ペンギン先生 ペンギン先生

`--auth user:pass`でBasic認証、`-A bearer --auth TOKEN`でBearer認証。セッション機能を使えばCookieや認証情報を保存して次回以降自動送信もできるよ

ひよこ ひよこ

Web版もあるって聞いたけど?

ペンギン先生 ペンギン先生

httpie.ioにWebアプリ版があって、ブラウザからリクエストを試せるんだ。チームでリクエストを共有する機能もあるよ。CLI版と合わせて使うと便利だね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「HTTPie」って出てきたら「curlより使いやすいHTTPクライアント」と思えればだいたいOK!
📖 おまけ:英語の意味
「HTTP + pie」 = HTTPのパイ
💬 HTTPにpie(パイ)を付けた名前。パイのように美味しい(使いやすい)HTTPクライアントという意味だよ
← 用語集にもどる