Как создать другой почтовый запрос с помощью Node.js?
POST-запрос - один из важных запросов во всех HTTP-запросах. Этот запрос используется для хранения данных на веб-сервере . Например, загрузка файла - это типичный пример почтового запроса. Есть много подходов к выполнению запроса HTTP POST в Node.js. Также доступны различные библиотеки с открытым исходным кодом для выполнения любых HTTP-запросов.
Ниже обсуждаются три подхода к созданию различных почтовых запросов.
- Использование модуля иглы
- Использование модуля аксиомы
- Использование модуля https
Ниже все три подхода подробно обсуждаются:
Подход 1. Один из способов сделать HTTP-запрос POST в Node.js - использовать библиотеку Needle . Needle - это HTTP-клиент для выполнения HTTP-запросов в Node.js, составных данных формы (например, загрузки файлов), автоматического синтаксического анализа XML и JSON и т. Д.
Структура проекта:
Установка модуля:
npm установить иглу
Index.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 data, {json: true }) .then((res) => { // Printing the response after request console.log( 'Body: ' , res.body); }). catch ((err) => { // Printing the err console.error(err.Message); } ); |
Команда выполнения:
узел index.js
Консольный вывод:
Подход 2: Еще одна библиотека, которую можно использовать, - это Axios . Это популярный модуль node.js, используемый для выполнения HTTP-запросов и поддерживающий все новейшие браузеры. Он также поддерживает синтаксис async / await для выполнения запроса POST.
Установка модуля:
npm установить axios
Index.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); } }; |
Команда выполнения:
узел index.js
Консольный вывод:
Подход 3: также возможно выполнить POST-запрос с помощью встроенного в Node.js модуля HTTPS, который используется для отправки данных в зашифрованном формате.
Index.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(); |
Команда выполнения:
узел index.js
Вывод в консоль: