Method: 1. Use the "https.get()" method of the HTTP module to issue a get request; 2. Use the general "https.request()" method to issue a post request; 3. Use PUT and DELETE requests , just change "options.method" to PUT or DELETE.
The operating environment of this tutorial: windows10 system, nodejs version 12.19.0, Dell G3 computer.
Learn about the Node.js native HTTPS module, which can make HTTP requests without any external dependencies.
Since it is a native module, no installation is required. You can access it via the following code:
const https = require('https');
GET request
is a very simple example that sends a GET using the https.get() method of the HTTP module Request:
const https = require('https'); https.get('https://reqres.in/api/users', (res) => { let data = ''; // called when a data chunk is received. res.on('data', (chunk) => { data += chunk; }); // called when the complete response is received. res.on('end', () => { console.log(JSON.parse(data)); }); }).on("error", (err) => { console.log("Error: ", err.message); });
Unlike other popular HTTP clients that collect responses and return them as strings or JSON objects, here you need to concatenate the incoming data stream for later use. Another notable exception is that the HTTPS module does not support promises, which makes sense since it is a low-level module and not very user-friendly.
POST request
To make a POST request, we must use the generic https.request() method. There is no shorthand https.post() method available.
The https.request() method accepts two parameters:
options — which can be an object literal, a string, or a URL object.
callback —Callback function used to capture and process responses.
Let's make a POST request:
const https = require('https'); const data = JSON.stringify({ name: 'John Doe', job: 'DevOps Specialist' }); const options = { protocol: 'https:', hostname: 'reqres.in', port: 443, path: '/api/users', method: 'POST', headers: { 'Content-Type': 'application/json', 'Content-Length': data.length } }; const req = https.request(options, (res) => { let data = ''; res.on('data', (chunk) => { data += chunk; }); res.on('end', () => { console.log(JSON.parse(data)); }); }).on("error", (err) => { console.log("Error: ", err.message); }); req.write(data); req.end();
The protocols and `port' attributes in the options object are optional.
PUT and DELETE requests
PUT and DELETE request formats are similar to POST requests. Just change the options.method value to PUT or DELETE.
This is an example of a DELETE request:
const https = require('https'); const options = { hostname: 'reqres.in', path: '/api/users/2', method: 'DELETE' }; const req = https.request(options, (res) => { // log the status console.log('Status Code:', res.statusCode); }).on("error", (err) => { console.log("Error: ", err.message); }); req.end();
Recommended learning: "nodejs video tutorial"
The above is the detailed content of How to issue https request in node. For more information, please follow other related articles on the PHP Chinese website!