HTTP & REST Client 『Paw』

Paw

この記事は できる Mac OS X Advent Calendar 2015 の6日目の記事になります。

この記事では Paw というアプリケーションを紹介していきます。

目次

Paw

Paw は REST クライアントです。

API などへの HTTP リクエストをカスタマイズして、出力結果を確認したり、テストしたリクエストを保存しておいたりすることができます。

現時点では $29.99 で、フリートライアル版も用意されています。

Paw

使ってみる

試しに ConnpassAPIを叩いてイベント情報一覧を取得してみます。

Connpassのイベント情報一覧

こんな感じになります。

JSON で返ってくるものであれば上の画像のように値の型が判別できるように可視化されていたり、オブジェクトや配列を折りたたみできるようになっています。

Header 情報や Body に値を追加する

リクエストするときの Header や Body の情報を変更したい場合は下画像の赤枠中のメニューをクリックして情報を入力していきます。

Body へファイルを添付する場合もドラッグアンドドロップで追加できます。

Basic 認証や OAuth 認証が必要なコンテンツへのアクセス

TwitterFacebook のように OAuth 認証の必要な API だったり、Basic 認証を通るための設定をするときには Options -> Authorization から用途に応じたものを選択することで必要なキーを用意してくれるので、値を入力するだけで済むので便利です。

一度入力したリクエストを保存しておいて再利用する

リスクエストはドキュメントという単位の中の1つとして扱われるので、パラメーターがちょっとだけ違うものなども全て保存しておいて再入力をせずに済みます。

名前がそれぞれのリクエストに名前がつけられたり、グループ分けができるのも嬉しいですね。

ドキュメントを共有して利用することで API の仕様をチームで共有する…なんてこともできます。

コードの生成機能

拡張機能をインストールすることで Paw から各言語で HTTP リクエストをするためのコードの生成を行えます。

Extensions for Paw, the ultimate HTTP client for Mac

PHP,Java,JavaScript,Objective-C など、たくさんの言語向けの Code Generator が用意されています。

PHP + cURL Code Generator を使ってみます。

さきほどのリンク先から拡張をインストールして、下の画像の部分(デフォルトでは HTTP が表示されている)をクリックして PHP を選択します。

すると下のエディタに cURL を使って HTTP リクエストをする PHP のコードが出力されます。

リクエスト先の URL や HTTP リクエストの方式も上のウィンドウで設定したものが反映されています。

あとは 右の Copy や Export などを選択して自分のソースコードへと反映させます。

参考に PHP + cURL Code Generator で吐き出したコードを下記に掲載しておきます。

// Get cURL resource
$ch = curl_init();

// Set url
curl_setopt($ch, CURLOPT_URL, 'http://connpass.com/api/v1/event/?keyword=javascript');

// Set method
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');

// Set options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// Set headers
curl_setopt($ch, CURLOPT_HTTPHEADER, [
  "Content-Type: application/octet-stream",
 ]
);


// Send the request & save response to $resp
$resp = curl_exec($ch);

if(!$resp) {
  die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
} else {
  echo "Response HTTP Status Code : " . curl_getinfo($ch, CURLINFO_HTTP_CODE);
  echo "\nResponse HTTP Body : " . $resp;
}

// Close request to clear up some resources
curl_close($ch);

今日紹介したアプリケーション

Paw


できる Mac OS X Advent Calendar 2015 はまだまだ続きます!10日まで私で、明日は GluePrint について紹介します。