【Node.js24.x】Object::request()メソッドの使い方
requestメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
requestメソッドは、HTTPまたはHTTPSプロトコルを利用して、外部のWebサーバーへリクエストを送信する際に使用されるメソッドです。これはNode.jsアプリケーションがクライアントとして機能し、他のWebサービスやAPIと連携するために不可欠な機能を提供します。
このメソッドを利用することで、例えばデータの取得(GETリクエスト)やデータの送信(POSTリクエスト)など、様々な種類のリクエストを実行できます。送信先のURL、リクエストメソッド、ヘッダー情報、そして送信するデータ(リクエストボディ)といった詳細なオプションを設定することが可能です。
requestメソッドは、通常、クライアントリクエストオブジェクトを返します。このオブジェクトを通じて、リクエストボディを書き込んだり、サーバーからのレスポンスを待機したりします。レスポンスは非同期的に処理され、多くの場合'response'イベントリスナーを通じて受け取られます。このイベントでは、サーバーからのステータスコード、レスポンスヘッダー、そしてレスポンスボディなどの情報にアクセスできます。
また、ネットワークエラーやタイムアウトなど、リクエスト中に発生する可能性のある問題は'error'イベントで捕捉し、適切にハンドリングすることが重要です。この仕組みにより、堅牢なネットワーク通信をNode.jsアプリケーションに実装することが可能になります。
構文(syntax)
1import http from 'node:http'; // Node.jsのHTTPモジュールをインポート 2 3// HTTP リクエストを送信するための構文 4const requestInstance = http.request( 5 { 6 // options (オブジェクト): リクエストの詳細設定 7 hostname: 'string', // 例: 'api.example.com' (必須) 8 port: 'number', // 例: 80 (HTTP) または 443 (HTTPS) 9 path: 'string', // 例: '/users/123' 10 method: 'string', // 例: 'GET', 'POST', 'PUT', 'DELETE' (デフォルトは 'GET') 11 headers: 'object', // 例: { 'Content-Type': 'application/json', 'Authorization': 'Bearer token' } 12 // その他の設定項目も可能 (protocol, auth, timeout など) 13 }, 14 (response) => { 15 // callback (関数): サーバーからの応答を受け取った際に実行される (オプション) 16 // response: http.IncomingMessage オブジェクト (応答データやヘッダーが含まれる) 17 // ここで応答データの読み込みやエラー処理を行う 18 } 19); 20 21// POSTやPUTなどでリクエストボディを送信する場合 22// requestInstance.write('リクエストボディのデータ'); 23 24requestInstance.end(); // リクエストの送信を完了
引数(parameters)
url, options, cb
- url: string: リクエストを送信するURL
- options: object: リクエストに関する追加設定を行うオブジェクト
- cb: function: リクエスト完了時に実行されるコールバック関数
戻り値(return)
http.ClientRequest
http.ClientRequestオブジェクトが返されます。このオブジェクトは、送信されたHTTPリクエストを表し、レスポンスの受信やリクエストのキャンセルなどの操作に使用できます。