http リクエストをターミナルからお試しする httpie

WP JSON REST API を試してみるとき、 json のデータを綺麗に見たい。ポンと送ってHEADER 情報とレスポンスのボディを簡単に色付きで確認したい。

jkbrzt/httpie

HTTPie というコマンドラインHTTP クライアントがあるようなので使っていきたいと思います。

ツールがつまりどういうことなのかといいますと、

  • WP REST JSON API を試してみたい
  • WordPress に対してリクエストを送りたい
  • 自分が送ったリクエストがなんだったのかを見たい
  • レスポンスの JSON を綺麗な形で色付きで見たい
  • ターミナルでやれると嬉しい

HTTPie: a CLI, cURL-like tool for humans

HTTPie (pronounced aitch-tee-tee-pie) is a command line HTTP client. Its goal is to make CLI interaction with web services as human-friendly as possible. It provides a simple http command that allows for sending arbitrary HTTP requests using a simple and natural syntax, and displays colorized output. HTTPie can be used for testing, debugging, and generally interacting with HTTP servers.

HTTPie: 人間のための、cURL っぽい CLI ツール

HTTPie (エイチティーティーパイと読む) はコマンドライン HTTP クライアント。ウェブサービスとの CLI でのインタラクションをできるだけ人に優しい形で実現してくれる。 http というシンプルなコマンドを使って好きな HTTP リクエストを送り、自然な構文の色付きアウトプットを出します。テストやデバッグのほか HTTP サーバとの一般的なやり取りに使いましょう。

というわけでした。この投稿の一番上の画像に2枚のターミナルの画像があると重います。後ろ側にあるのは curlでリクエストを送っているところで、手前のが httpie を使ったところです。簡単なコマンドで見やすいよ!ということですね。

  • インストール方法: $ brew install httpie
  • ヘルプ: $ http --help
  • 構文: $ http [flags] [METHOD] URL [ITEM [ITEM]]
  • 超基本: $ http wp.example.com

以下、ローカルの WordPress に対して諸々のリクエストを送ってみたところ。

GET リクエスト

http wp-api.dev/wp-json

スクリーンショット 2016-01-02 10.32.45.png

Contact Form 7 へメールを送ってみた

$ http -v --form wp-api.dev/contact-form-7-test/ your-name="Shinichi Nishikawa" [email protected] your-subject=test your-message="This is my message. Hello hello hello." _wpcf7=6 _wpcf7_version=4.3.1 _wpcf7_locale=en_US _wpcf7_unit_tag=wpcf7-f6-p7-o1 _wpnonce=9fc5ff2bd7

スクリーンショット 2016-01-02 11.03.58

上記は Contact Form 7 が出しているフォームのソースから色々コピペして、 name=value というパラメータを付けて –form フラグを付けてリクエストを送ったところ。 POST メソッド付けてないけど動いた(あとで試したらPOST 付けても動いたけど、GETつけたら動かないので –form をつけたら勝手にPOSTにしてるのかな)。

スクリーンショット_2016-01-02_11_03_11
メールが届いた。

覚えておきたいオプションなど

  • URL の直前に PUT とか POST とか書いてメソッドを指定なので、WordPress に色々投稿したりもできるので便利
  • -v フラグをつけると自分のリクエストが何だったのかも見れる
  • name=value を付けて色々送れる
  • X-MY-HEADER:123 を付けてヘッダーも送れるのでログイン状態が再現できる
  • --session=admin-session を付けてセッションを作成し、あとからそのセッションを保持して使いまわせるので楽

というわけで、デバッグに困らないツールということでこれから使っていきたいと思います。 Glossary | WP REST API v2 Documentation には Chrome や Firefox のためのテストツールも紹介されていたので興味のある方はそちらも見てみてはいかがでしょうか?

↓ プラグインを作る方々への本、書きました。 ↓

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

http リクエストをターミナルからお試しする httpie」への2件のフィードバック