node.jsのいろいろなモジュール35 – SuperAgentでHTTPリクエストを行う
軽量HTTPクライアント
SuperAgentとは、柔軟性と読みやすさを兼ね備えた、軽量HTTPクライアントです。 シンプルな使い方から高機能な使い方まで、用途に応じて簡単に使用することができます。
環境構築方法
今回使用した動作環境は以下のとおりです。
- OS : MacOS X 10.7.5
- Node.js : v0.10.4
- npm : 1.2.18
npmを使用してモジュールをインストールしましょう。
% mkdir superagent % cd superagent % npm install superagent
サンプルプログラム作成
superagentモジュールをrequireし、メソッドと宛先URLを指定するだけでリクエストを送信することができます。 end関数でコールバックを指定し、レスポンスを参照することができます。
var request = require('superagent'); request.get("http://httpbin.org/html") .end(function(res){ console.log(res); });
上記プログラムを実行すると、レスポンス情報がつらつらと表示されます。 get関数以外にも、post(POST)、put(PUT)、del(DELETE)、head(HEAD)関数があります。 また、次のようにしても同じように結果を取得することができます。
・ ・ request("GET","http://httpbin.org/html") .end(function(res){ console.log(res); });
クエリ文字列を指定したい場合、query関数を使用します。 query関数にはオブジェクトで渡すこともできますし、文字列で渡すことも可能です。
・ ・ request .get('http://httpbin.org/response-headers') .query({ foo: 'bar', baz:'qux' }) //.query('foo=bar&baz=qux')でもOK .end(function(res){ console.log(res.res.body); });
パラメータ付きでPOSTすることもできます。次のように、send関数へオブジェクトをそのままパラメータとして渡してPOSTしています。
・ ・ request.post("http://httpbin.org/post") .set('Content-Type', 'application/json') .send({parameter:"value1",foo:"bar"}) .end(function(res){ console.log(res); });
まとめ
とりあえずSuperAgentの基本的な使い方だけ紹介しました。 ここにはMultipartの処理方法やエラーハンドリング方法等も紹介されてます。 確認してみてください。