4

How to make HTTP requests in Node.js

 1 year ago
source link: https://www.laravelcode.com/post/how-to-make-http-requests-in-node-js
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

How to make HTTP requests in Node.js

  351 views

  9 months ago

NodeJS

There are so many packages available to make http request in Node.js. Some popular packages are Axios, node-fetch, SuperAgent, Got etc.

In this article we will see Http module from standard library. We will also check with Axios and Request library.

Below is the example of Http library get method.

const https = require('https')

// create request
const options = {
    hostname: 'https://api.laravelcode.com',
    port: 443,
    path: '/api/get-user',
    method: 'GET'
}

// send request
const req = https.request(options, res => {

    // request success
    res.on('data', d => {
        process.stdout.write(d)
    })
})

// on error in request
req.on('error', error => {
     console.error(error)
})

// close request
req.end()

And here is how to create Post request in Node.js

const https = require('https')

const data = JSON.stringify({
    name: 'laravelcode',
    email: '[email protected]',
}

// create post request
const options = {
    hostname: 'https://api.laravelcode.com',
    port: 443,
    path: '/create/user',
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    }
}

const req = https.request(options, res => {

    // request success
    res.on('data', d => {
        process.stdout.write(d)
    })
})

// on request error
req.on('error', error => {
    console.error(error)
})

// close request
req.write(data)
req.end()

Create request using Axios library

Axios is promise-based http request library. It can be used in Browser and Node.js also. Axios is useful when lots of requests are chained with complicated logic. To send request using Axios, first we need to install using below command.

npm install axios --save

Then we can send the request using below code:

const axios = require('axios');

axios.get('https://api.laravelcode.com/api/get-user')
    .then(res => {
        console.log(res.status);

        const users = res.users;
    })

    // error
    .catch(err => {
        console.log(err.message);
    });

Using Request library

Request is simple http request library and same as Python's Request. It can be used for simple http requests. To install Request library, run below command.

npm install request --save

Now you can use Request module to create Http request. Here is simple example code for above one.

const request = require('request');

request('https://api.laravelcode.com/api/get-user', { json: true }, (err, res, body) => {
    if (err) {
        console.log(err);
    }
    console.log(body.user);
});

Conclusion

There are also other popular library available. You can choose any of them which you need. It all depends upon requirement and preference.

I hope it will help you.

Author : Harsukh Makwana
Harsukh Makwana

Hi, My name is Harsukh Makwana. i have been work with many programming language like php, python, javascript, node, react, anguler, etc.. since last 5 year. if you have any issue or want me hire then contact me on [email protected]


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK