Una solicitud en. Por ejemplo, la carga de archivos es un ejemplo común de una solicitud posterior. Hay muchos enfoques para realizar una solicitud HTTP POST en Node.js. Varias bibliotecas de código abierto también están disponibles para realizar cualquier tipo de solicitud HTTP.
Hay tres enfoques para crear diferentes requests de publicación que se analizan a continuación.
- Uso del módulo de agujas
- Usando el módulo axioma
- Usando el módulo https
Enfoque 1: una de las formas de realizar una solicitud HTTP POST en Node.js es mediante el uso de la biblioteca Needle . Needle es un cliente HTTP para realizar requests HTTP en Node.js, datos de formulario de varias partes (por ejemplo, carga de archivos), análisis automático de XML y JSON, etc.
Estructura del proyecto:
Módulo de instalación:
npm install needle
Índice.js
Javascript
//Importing needle module const needle = require('needle'); // Data to be sent const data = { name: 'geeksforgeeks', job: 'Content Writer', topic:'Node.js' }; // Making post request needle('post', 'https://requires.in/api/usersdata', data, {json: true}) .then((res) => { // Printing the response after request console.log('Body: ', res.body); }).catch((err) => { // Printing the err console.error(err.Message); } );
Comando de ejecución:
node index.js
Salida de la consola:
Enfoque 2: otra biblioteca que se puede usar es Axios . Este es un módulo popular de node.js que se usa para realizar requests HTTP y es compatible con todos los navegadores más recientes. También es compatible con la sintaxis async/await para realizar una solicitud POST.
Módulo de instalación:
npm install axios
Índice.js
Javascript
// Importing the axios module const axios = require('axios'); // Data to be sent const data = { name: 'geeksforgeeks', job: 'Content Writer', topic: 'Node.js' }; const addUser = async () => { try { // Making post request const res = await axios.post( 'https://reqres.in/api/usersdata', data); // Printing the response data console.log('Body: ', res.data); } catch (err) { // Printing the error console.error(err.Message); } };
Comando de ejecución:
node index.js
Salida de la consola:
Enfoque 3: también es posible realizar una solicitud POST utilizando el módulo HTTPS integrado de Node.js. Este módulo se utiliza para enviar los datos en un formato encriptado
Índice.js
Javascript
// Importing https module const https = require('https'); // Converting data in JSON format const data = JSON.stringify({ name: 'geeksforgeeks', job: 'Content Writer', topic:'Node.js' }); // Setting the configuration for // the request const options = { hostname: 'reqres.in', path: '/api/users', method: 'POST' }; // Sending the request const req = https.request(options, (res) => { let data = ''; res.on('data', (chunk) => { data += chunk; }); // Ending the response res.on('end', () => { console.log('Body:', JSON.parse(data)); }); }).on("error", (err) => { console.log("Error: ", err.message); }); // Write data to request body req.write(data); req.end();
Comando de ejecución:
node index.js
Salida de la consola: