Home  >  Article  >  Web Front-end  >  How to issue https request in node

How to issue https request in node

WBOY
WBOYOriginal
2022-04-22 15:23:154112browse

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.

How to issue https request in node

The operating environment of this tutorial: windows10 system, nodejs version 12.19.0, Dell G3 computer.

How node makes https requests

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:What is node forwardingNext article:What is node forwarding