【Node.js】GETパラメータの取得・パース

Node.jsでGETパラメータ(リクエストパラメータ)の取得とパースを行う方法を入門者向けにサンプルコード付きでまとめました。

GETパラメータの取得・パース

GETパラメータ(GET parameter)とは、クライアント側がWebサーバ側に送信するデータをURLの末尾に特定の形式で表示したものです。
リクエストパラメータ(request parameter)ともいいます。
FirefoxやChromeなどのWebブラウザでも見ることができます。

■Google画像検索で「セイバー」と検索した結果のURL

https://www.google.com/search?q=セイバー&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjmh6On2pHcAhUWIIgKHQbIAz4Q_AUICigB&biw=1280&bih=670
GETパラメータ(リクエストパラメーター)の詳細はこちら
参考 「GETパラメーター」「リクエストパラメーター」の意味、違い

今回は、Node.jsでGETパラメータを取得し、パース(解析)してみます。

サンプルコード

サンプルプログラムのソースコードです。

var http = require('http');
var url = require('url');

var server = http.createServer(function(req, res) {
  // GETのパラメータを取得し、パース
  var url_parse = url.parse(req.url, true);

  // パース結果をコンソール出力
  console.log(url_parse);
  res.end();
}).listen(8080);

実行手順

①ターミナル(Windowsならコマンドプロンプト)を開きます。

② 以下のコマンドを実行します。
※Webサーバー側の起動

node <index.jsのファイルパス>
注意事項
※1 <index.jsのファイルパス>はindex.jsを配置した場所によって適宜変更
※2 Windowsならカレントディレクトリは「C:\Users\ユーザー名」

③ 手順②とは別に、もう1つターミナル(Windowsならコマンドプロンプト)を開きます。
※クライアント側用

④ 以下のコマンドを実行します。
※クライアント側でWebサーバーへアクセス

curl -X GET http://127.0.0.1:8080/test?name=Saver

⑤ 手順②で開いたターミナルにパース結果が出力されます。

Url {
  protocol: null,
  slashes: null,
  auth: null,
  host: null,
  port: null,
  hostname: null,
  hash: null,
  search: '?name=Saver',
  query: { name: 'Saver' },
  pathname: '/test',
  path: '/test?name=Saver',
  href: '/test?name=Saver' }
関連ページ
1 【Node.js入門】サンプル集と使い方まとめ
関連記事