http
および https
モジュールを使用して、Node.js で HTTP リクエストを送信することがより一般的です。これらのモジュールは、HTTP リクエストを送信するための強力かつ柔軟な方法を提供します。この記事では、Node.js で HTTP リクエストを送信し、リクエストにパラメータを含める方法について説明します。
Node.js では、http
モジュールを使用して HTTP リクエストを送信できます。簡単な例を見てみましょう:
const http = require('http'); const options = { hostname: 'www.example.com', port: 80, path: '/submit', method: 'POST', headers: { 'Content-Type': 'application/json' } }; const req = http.request(options, (res) => { console.log(`statusCode: ${res.statusCode}`); res.on('data', (data) => { console.log(data.toString()); }); }); req.on('error', (error) => { console.error(error); }); req.write(JSON.stringify({ key: 'value' })); req.end();
上記の例では、http.request()
メソッドを使用して HTTP リクエストを作成し、options
オブジェクトを渡します。要求された URL、ポート、パス、およびメソッドを指定します。また、リクエスト本文が JSON 形式であることを指定するリクエスト ヘッダーも設定します。
次に、req.write()
メソッドを呼び出して JSON 文字列に送信するパラメーターをシリアル化し、req.end()
メソッドを呼び出します。 HTTP リクエストを完了します。
最後に、例外を処理するために、req
オブジェクトの on('error')
および res.on('data')
イベントを定義します。要求および応答プロセス中の応答データ。
GET リクエストを送信するときは、URL にクエリ パラメータを追加することでパラメータを渡すことができます。例:
const http = require('http'); const query = 'q=nodejs'; const options = { hostname: 'www.example.com', port: 80, path: `/search?${query}`, method: 'GET' }; const req = http.request(options, (res) => { console.log(`statusCode: ${res.statusCode}`); res.on('data', (data) => { console.log(data.toString()); }); }); req.on('error', (error) => { console.error(error); }); req.end();
上記の例では、URL でクエリ パラメータ q=nodejs
を使用してターゲット リソースを検索し、そのクエリ パラメータを path に追加します。
属性中間。
POST リクエストを送信するときは、通常、サーバーにデータを送信する必要があります。このデータはフォーム データや JSON データなどです。データを指定された形式でエンコードしてサーバーに送信する必要があります。
フォーム データをサーバーに送信する例を見てみましょう。 querystring
モジュールを使用して、フォーム データを URL クエリ文字列にエンコードする必要があります。
const http = require('http'); const querystring = require('querystring'); const formData = { name: 'John Doe', email: 'johndoe@example.com', message: 'Hello, world!' }; const postData = querystring.stringify(formData); const options = { hostname: 'www.example.com', port: 80, path: '/contact', method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': postData.length } }; const req = http.request(options, (res) => { console.log(`statusCode: ${res.statusCode}`); res.on('data', (data) => { console.log(data.toString()); }); }); req.on('error', (error) => { console.error(error); }); req.write(postData); req.end();
上の例では、送信するフォーム データを含む formData
という名前のオブジェクトを定義しました。 querystring.stringify()
メソッドを使用してこれを URL クエリ文字列にエンコードし、POST リクエストのリクエスト本文として設定します。また、リクエスト ヘッダーを定義して、リクエスト本文の形式を application/x-www-form-urlencoded
として指定します。
フォーム データの送信に加えて、JSON データも送信できます。 JSON.stringify()
メソッドを使用して JSON データをシリアル化する必要があります。
const http = require('http'); const jsonData = { name: 'John Doe', email: 'johndoe@example.com', message: 'Hello, world!' }; const postData = JSON.stringify(jsonData); const options = { hostname: 'www.example.com', port: 80, path: '/api', method: 'POST', headers: { 'Content-Type': 'application/json', 'Content-Length': postData.length } }; const req = http.request(options, (res) => { console.log(`statusCode: ${res.statusCode}`); res.on('data', (data) => { console.log(data.toString()); }); }); req.on('error', (error) => { console.error(error); }); req.write(postData); req.end();
上の例では、jsonData
という名前の JSON オブジェクトを定義し、JSON.stringify()
メソッドを使用してそれを JSON 文字列にエンコードします。また、リクエスト本文の形式を application/json
として指定するリクエスト ヘッダーも定義します。
概要
この記事では、Node.js でパラメーターを含む HTTP リクエストを送信する方法について説明します。 http
モジュールを使用しました。http
モジュールの詳細なドキュメントについては、Node.js ドキュメントを参照してください。
以上がnodejsはhttpリクエストパラメータを送信しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。