この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
軽量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の処理方法やエラーハンドリング方法等も紹介されてます。 確認してみてください。