綺麗に死ぬITエンジニア

macOS(OS X)向けHTTPクライアント「Paw」が便利すぎた

2016-11-07

全国のMacユーザーの皆さん、こんにちは。

皆さんは、様々なWebサービスによって公開されているAPIや、自身で開発したAPIの動作確認をどのように行っていますか?

私はこれまで、ターミナルからcurlコマンドを用いて各APIの動作確認を行っていましたが、近年のAPIの認証にはOAuth等を用いた比較的複雑なものも多く、手作業でリクエストをしていくのが面倒な場合も多くなってきました。

そこで、macOS(OS X)向けのGUIのHTTPクライアントの「Paw」というアプリケーションを導入してみて、思いの他便利だったので紹介します。

Pawとは

Pawは、自身で構築したり、他者により提供されたりしたAPIをテストすることに特化した、フル機能のHTTPクライアントアプリケーションです。PawはmacOSらしい美しいインターフェースを持ち、サーバーの応答を検査し、様々なクライアントコードを生成することができます。

paw01

価格は$49.99のシェアウェアです。無料で30日間の試用が可能です。

Pawの機能

Pawには、単純なHTTPリクエストの生成以外にも多くの機能があります。

  • macOSネイティブ: macOSらしいシンプルなインターフェースであり、すべての機能を直感的に利用できます
  • 認証: Basic認証・Digest認証・OAuth認証・AWS Signature Version 4やAmazon S3認証等のテンプレートによって、容易に認証済リクエストを生成できます
  • 動的な値: 認証トークン・ハッシュ計算等の動的な値を利用できます
  • 環境変数: HTTPリクエストの定義はそのままに、サーバーやユーザーアカウント等の情報を容易に設定し、切り替えることができます
  • 拡張機能: 第三者が提供している拡張機能や、自身で作成した拡張機能をPawに組み込むことができます
  • セキュリティ: Pawが生成したHTTPリクエストの認証情報やその履歴は、全て暗号化されます
  • コード生成: Pawで定義したHTTPリクエストから、様々なプログラミング言語で同様のHTTPリクエストを生成するコードを生成できます
  • 警告: 定義したHTTPリクエストが一般的に間違っている場合、それを警告します
  • API定義のインポート
  • テキスト補完: 一般的なHTTPヘッダや、自身でかつて入力したテキストを学習・補完します
  • 多様なレスポンスへの対応: JSON以外にも、様々な形式のレスポンス(HTML, 画像, PDF)をサポートします
  • Cookie&セッション: 保存されたCookieの閲覧・変更・無視など、Cookieの操作をサポートします
  • SSLクライアント証明書: 証明書を使用した認証をサポートします
  • HTTPリクエストの共有: HTTPリクエスト/レスポンスのペアを表示したURLを生成し、他の人に共有できます

paw02

全てを説明するには非常に時間がかかるくらい多機能ですが、UIはシンプルなのでどなたでも使いこなせるかと思います。

Pawのいいところ・悪いところ

使用し始めてから半年ほど経過しますが、その中でPawのいいところ・悪いところが色々と見えてきました。現時点(Ver. 3.0.12)でのいいところ・悪いところを列挙します。

いいところ

  • かなり多機能で、これ一つあればHTTPリクエストの生成において困ることはない
  • APIのテストが爆速になる
  • APIのテストが通らなかった場合に、そのデバッグも爆速になる
  • APIに限らず、通常のWebページでも利用できるので、通常のWebページのデバッグも爆速になる
  • 開発自体が比較的活発である
  • Cloudサーバーを利用できる

やはり、GUIで直感的にすぐHTTPリクエストを作れるということで、これまで面倒だった作業が様々な面で爆速化されます。これに尽きます。

多機能なので、機能的に不足を感じたこともありません。特に認証周りが優秀で、Twitter APIなんかもサクッと動作確認できちゃいます。

HTTPリクエスト/レスポンスを、普段は見やすいUIで確認することができ、さっと1クリックで生データでの表示に切り替えたりもできるので、単にHTTPの学習にも利用できるレベルだと思います。

細かいUIへの工夫も多く、例えばURLのGETパラメーター(クエリストリング: ?以降の"a=1&b=2&c=3"といった文字列)を自動的に分解してくれたりする等、細かい気配りも多くあるので、使いこなせば本当にテストが爆速になります。

悪いところ

  • 英語のみ
  • 時折、動作が安定しない場合がある
  • 変更が多く、今後の互換性やライセンスの変更等に不安が残る
  • まだまだ、痒いところに手が届かない部分がある

日本語には対応していません。基本的にシンプルなUI+単純な英語なので、人並みに中学英語ができる人ならば利用できると思いますが、絶対的に英語がムリな方は、使いこなすことはできないでしょう。

また、まだ動作が不安定なことがたまにあります。HTTPヘッダーの入力・削除がうまくいかず想定外の動きをしたり、アプリケーションを終了しているのにプロセスが残り、OSシャットダウンを妨げる、など。開発は活発なので、今後のアップデートに期待します。

深く使っていくと、定義をグループ化して一括で認証の定義を割り当てたい!等、時折「もっとこうだったらいいのに・・・」という点があります。こちらも、今後のアップデートに期待です。

まとめ

まだまだ改善の余地はありますが、現状でも十分役に立ちます。約50ドルですが、値段以上の価値があると思っています。APIやWebページのデバッグを行う機会の多い方は、ぜひ導入を検討してみてはいかがでしょうか。

また、私は導入していませんが、1ユーザー当たり月額10ドルのチーム用のプランもあるようです。共有機能も強いみたいなので、チームの方はこちらを検討してみてはいかがでしょうか。

Paw - The most advanced API tool for Mac

「Paw」を使ってTwitter APIの動作確認をしてみました! よろしければこちらの記事もどうぞ。

筆者について

フリーランスエンジニアとして活動している、「もりやませーた」です。

筆者のTwitterはこちら。記事に関するご意見等はTwitterの方へお寄せください。

その他業務に関するお問い合わせは、こちらのページをご覧ください。

Apple