コース: Node.jsとExpress.jsをマスターしよう
今すぐコースを受講しましょう
今すぐ登録して、23,200件以上登録されている、業界エキスパート指導のコースを受講しましょう。
モジュールの利用
このレッスンでは npmから モジュールをインストールして そのモジュールを 使用する方法について 説明します それではまず ワークショッパーを 起動しましょう learnyounode エンター 今回は こちらの8番目の HTTP COLLECT という問題を解きます エンターを押します 問題 コマンドライン引数の 1つ目のパラメータで与えられた URLに対して HTTPの GETリクエストを行った上で そのレスポンスデータを収集し 2つの行をコンソールに出力する プログラムを書いてください ただし 1行目は データに含まれる文字数 2行目は サーバーから送られた文字を すべて結合したものとします さて HTTPで データを取得して そのデータを まとめあげて出力する という問題です HTTPからのデータを 取得するやり方には いくつかのやり方が あるのですが たとえば ひとつのやり方として ノードインタープリターを 立ち上げて 実際にやってみます まずは HTTPモジュールの ロードです http = require('http') そしてhttpの getメソッドを使用しますね getメソッドの 1つ目のパラメータはURLです http;//example.com こちらから データをゲットしてみます 2番目のパラメータは コールバック関数で そのコールバック関数の パラメータとしては レスポンスオブジェクトが 渡されます そしてこの レスポンスオブジェクトに対して データイベントを リッスンすることによって そのサーバーからの データの着信を知ることができます しかしながら このデータイベントというのは 何回かに分けて 発火される可能性があります つまり すべてのデータの ダウンロードを完了した時点で 一度だけ イベントが 発火されるのではなく ダウンロードをしながら 何度にも分けて そのデータイベントが発火される 可能性があるということです そこで レスポンスのデータを まとめあげるための ひとつの方法として たとえば まとめあげる用の変数を 1つ用意しておいて 最初は空文字列で 初期化しておきます そして response.on('data')で データイベントを ハンドリングして コールバックの 1番目のパラメータは dataそのものですね…
エクササイズファイルを使って実践してみましょう。
インストラクターがコースで使用しているファイルはダウンロードできます。見て、聞いて、練習することで、理解度を深めることができます。
目次
-
-
-
-
(ロック済み)
ワークショッパーの使い方8分8秒
-
(ロック済み)
コマンドライン引数8分21秒
-
(ロック済み)
同期的なファイル読み込み10分
-
(ロック済み)
非同期的なファイル読み込み8分33秒
-
(ロック済み)
ディレクトリの読み込み7分19秒
-
(ロック済み)
モジュールの作成13分10秒
-
HTTPでのデータの取得6分26秒
-
(ロック済み)
モジュールの利用11分34秒
-
(ロック済み)
並列的でのデータの取得10分21秒
-
(ロック済み)
TCPサーバーの作成11分54秒
-
(ロック済み)
HTTPサーバーの作成7分50秒
-
(ロック済み)
変換ストリームの利用11分6秒
-
(ロック済み)
JSONAPIサーバーの作成13分31秒
-
(ロック済み)
-