【Node.js入門】requestモジュールでGET / POST通信する方法!

こんにちは、ライターのマサトです。今回は、Node.jsのrequestモジュールを使ったHTTP通信について学習をしていきましょう!

この記事では、

  • requestモジュールとは?
  • requestモジュールの使い方
  • requestでJSONを扱う方法
  • request-promiseによる通信方法

というように、基本的な内容から応用的な使い方に関しても解説していきます。この記事で、requestモジュールをしっかり学習して自分のスキルアップを目指しましょう!

requestモジュールとは?

まずは、requestモジュールについて基本的な知識から身に付けていきましょう!

requestモジュールを使うと、標準のhttpモジュールを使うよりも簡単で理解しやすい記述でHTTP通信を行うことができます。一般的にはcreateServer()メソッドを使って記述しますが、requestを使うとオプションを設定するだけで簡潔に書けるのが特徴です。

また、Promiseに対応したrequestモジュールも公開されているので本記事で合わせてご紹介しますので、ぜひ参考にしてみてください!

requestモジュールの使い方

この章では、requestモジュールの基本的な使い方について見ていきましょう!一般的な構文から実際のプログラミング手法について学んでいきます。

基本的な構文と書き方について

まずは、もっとも基本となる書き方について見ていきたいのですが、最初にrequire()でモジュールが使えるようにしておきましょう!

requestモジュールの特徴として、さまざなオプション設定を記述するだけで簡単に利用できるという点があります。

この例では、通信する先のアドレスと種類(GET / POSTなど)を記述しています。もちろん他にもヘッダー情報やPOSTする時のデータなど、さまざまなオプションを付与することが可能です。あとは、request()メソッドを以下のように実行するだけで完了です!

第1引数の「options」には先ほど作成したオプションが設定でき、コールバック関数に実行したい処理を記述します。一般的なhttpモジュールでcreateServer()メソッドを使うよりも、かなりシンプルに記述できるのが分かりますね。

GET・POST通信を行う方法

今度は、一般的によく使う「GET / POST」通信をプログラミングしてみましょう!例えば、当ブログにGET通信するには次のように記述します。

この例では、当ブログのアドレスと通信の種類を示すGETをオプションに設定しています。そして、request()にオプションを指定してコールバック関数の「body」を出力することで当ブログのHTMLを出力しているわけです。

また、POST通信もほとんど同じように利用することが可能です!

この例では、通信の種類を「POST」に変更して新しく「form」プロパティを追加しています。これを追加することで、POST通信で一緒に送信するデータを指定できるので覚えておきましょう!

requestでJSONを扱う方法

requestモジュールを使うとJSONデータも効率的に扱えるので、合わせてご紹介しておきます!

例えば、アクセス先のサーバーからJSONファイルを取得したいとします。普通に記述すると以下のようになりますね。

これでもrequest()メソッドを使ってJSONデータを取得できるのですが、文字列データなのでJSONにパースする必要があります。

そこで、オプション設定に「json」プロパティを追加してみましょう!

「json」をtrueにするだけで、自動的に取得したJSONデータをパースしてJavaScriptで扱いやすい形式にしてくれるわけです。

request-promiseによる通信方法

requestモジュールには、非同期処理を効率よく記述できるPromiseに対応したバージョンもあるのでご紹介しておきます。まずは、require()でモジュールが使えるように準備しておきましょう!

基本的にはrequestモジュールがベースになっているので、使い方自体はほとんど同じように扱えます。例えば、以下のようにオプションを作成します。

そして、オプションを指定してGET通信処理を次のように記述します。

Promiseが扱えるので、「then」「catch」を使って簡潔に処理が記述できるのが分かりますね。ちなみにですが、Promiseについてまだよく分からないという方は次の記事で基本から体系的に解説しているので参考にしてみてください!

【JavaScript入門】誰でも分かるPromiseの使い方とサンプル例まとめ!
更新日 : 2019年2月10日

まとめ

今回は、簡単にHTTP通信が記述できるrequestモジュールについて学習しました。最後に、もう一度ポイントをおさらいしておきましょう!

  • requestモジュールはオプションを設定することで簡単に処理を記述できる
  • JSONデータを扱う際も自動的にパース処理をしてくれる
  • Promise処理に対応したバージョンも存在する

上記内容を踏まえて、ぜひ自分でもプログラミングに取り入れて活用できるように頑張りましょう!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

マサト

マサト

JavaScriptが大好きで、趣味も仕事もJavaScriptを中心に活動していたら、いつの間にかフリーランスになってました。
30代になってからプログラミングを始めた経緯があり、分からないことだらけだった経験を踏まえて、読者に分かりやすい記事制作をモットーにしています。
JavaScript以外の趣味は、旅をしながらの街歩きや登山など。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説