WP JSON REST API を試してみるとき、 json のデータを綺麗に見たい。ポンと送ってHEADER 情報とレスポンスのボディを簡単に色付きで確認したい。
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
Contact Form 7 へメールを送ってみた
$ http -v --form wp-api.dev/contact-form-7-test/ your-name="Shinichi Nishikawa" your-email=shinichi.nishikawa@example.com 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
上記は Contact Form 7 が出しているフォームのソースから色々コピペして、 name=value というパラメータを付けて –form フラグを付けてリクエストを送ったところ。 POST メソッド付けてないけど動いた(あとで試したらPOST 付けても動いたけど、GETつけたら動かないので –form をつけたら勝手にPOSTにしてるのかな)。
覚えておきたいオプションなど
- URL の直前に PUT とか POST とか書いてメソッドを指定なので、WordPress に色々投稿したりもできるので便利
-v
フラグをつけると自分のリクエストが何だったのかも見れるname=value
を付けて色々送れるX-MY-HEADER:123
を付けてヘッダーも送れるのでログイン状態が再現できる--session=admin-session
を付けてセッションを作成し、あとからそのセッションを保持して使いまわせるので楽
というわけで、デバッグに困らないツールということでこれから使っていきたいと思います。 Glossary | WP REST API v2 Documentation には Chrome や Firefox のためのテストツールも紹介されていたので興味のある方はそちらも見てみてはいかがでしょうか?
コメント
コメント一覧 (2件)
[…] ます。(ターミナルの httpie なら本ブログのこの本ブログのこの記事も読んでみてね。) […]
[…] http リクエストをターミナルからお試しする httpie […]