近年、フロントエンド開発技術は急速に発展し、フロントエンド開発者の責任範囲はますます広範囲になってきています。フロントエンド開発者は、一般的な HTML、CSS、JavaScript に加えて、Node.js などのバックエンド開発スキルも習得する必要があります。
Node.js は、JavaScript 言語をベースにしたオープンソースのクロスプラットフォームオペレーティング環境であり、サーバー側で JavaScript を実行できます。イベント駆動型のノンブロッキング I/O モデルを使用し、リアルタイムのデータ送信をサポートします。したがって、フロントエンドとバックエンドを分離する最新の開発モデルの下では、Node.js はフロントエンド開発者にとって必須のスキルとなっています。
Node.js では、HTTP リクエストを他のサーバーに送信することは一般的な操作であるだけでなく、公式に提供されるコア モジュールの 1 つである「http」モジュールでもあります。このモジュールは、HTTP クライアント要求と HTTP サーバー側 (つまり、Node.js の HTTP サーバー) を実装するための機能を提供します。
この記事では、Node.js の「http」モジュールを使用して他のサーバーに HTTP リクエストを送信する方法を説明します。
http.request(options[, callback])
このメソッドは、 http.ClientRequest オブジェクト。 options は、次のプロパティを含むオブジェクトです。
callback は、サーバーから応答を受信したときに呼び出される関数です。
次の例では、GET リクエストを jsonplaceholder.typicode.com に送信し、ブログ投稿の詳細を返します。
const http = require('http') const options = { hostname: 'jsonplaceholder.typicode.com', path: '/posts/1', method: 'GET' } const req = http.request(options, (res) => { console.log(`状态码: ${res.statusCode}`) res.on('data', (data) => { console.log(`响应主体: ${data}`) }) res.on('end', () => { console.log('响应中已无数据。') }) }) req.on('error', (error) => { console.error(`请求遇到问题: ${error}`) }) req.end()
この例では、http.ClientRequest オブジェクトが作成されます。 GET リクエストがサーバーに送信され、JSON 形式のデータが指定されます。サーバーから応答を受信したら、応答ステータス コードと応答本文を出力します。
http.get(options[, callback])
このメソッドはhttp.request( ) メソッドと同様ですが、実装できるのは GET リクエストのみです。
次の例では、http.get() メソッドを使用して、同じサーバーに GET リクエストを送信します。
const http = require('http') http.get('http://jsonplaceholder.typicode.com/posts/1', (res) => { console.log(`状态码: ${res.statusCode}`) res.on('data', (data) => { console.log(`响应主体: ${data}`) }) res.on('end', () => { console.log('响应中已无数据。') }) }).on('error', (error) => { console.error(`请求遇到问题: ${error}`) })
この例では、http.get() メソッドを使用します。 GET リクエストを jsonplaceholder に送信します。 .typicode.com サーバーは GET リクエストを送信し、サーバーから応答を受信すると、応答ステータス コードと応答本文を出力します。
Node.js によって提供される "http" モジュールに加えて、request や などのいくつかのリクエスト ライブラリもあります。アクシオス。これらのライブラリには、より高度な機能があり、Promise をサポートし、リダイレクトやエラーを処理します。
次の例では、リクエスト ライブラリを使用して GET リクエストを jsonplaceholder.typicode.com サーバーに送信します。
const request = require('request') request('http://jsonplaceholder.typicode.com/posts/1', (error, response, body) => { console.log(`状态码: ${response.statusCode}`) console.log(`响应主体: ${body}`) })
この例では、リクエスト ライブラリを使用して GET を送信しますjsonplaceholder.typicode.com サーバーへのリクエスト GET リクエストが送信され、サーバーから応答を受信すると、応答ステータス コードと応答本文が出力されます。
概要
この記事では、Node.js の「http」モジュールを使用して HTTP リクエストを他のサーバーに送信する方法について説明します。基本的なリクエスト操作は http.request() メソッドと http.get() メソッドを使用して実装でき、リクエスト ライブラリ (request や axios など) はより高度な機能をサポートできます。開発者は、独自のニーズや習慣に応じて、HTTP リクエスト操作を実装するさまざまな方法を選択できます。
以上がNodejsで他のサーバーをリクエストする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。