Studying NodeJs HTTP Requests
How to make HTTP requests in nodejs?
Table of Contents
v01: Basics
Source code in https://github.com/mertnuhoglu/study/tree/master/js/ex/study_http_requests_in_nodejs/
HTML page:
mkdir -p ex/study_http_requests_in_nodejs && $(cd $_ && npm init -y && pnpm i parcel-bundler request)
mkdir -p ex/study_http_requests_in_nodejs/src && touch ex/study_http_requests_in_nodejs/src/index.js
Edit ex/study_http_requests_in_nodejs/src/index.js
:
const request = require('request');
request('http://jsonplaceholder.typicode.com/users/1', function (error, response, body) {
console.log('error:', error);
console.log('statusCode:', response && response.statusCode);
console.log('body:', body);
});
node ex/study_http_requests_in_nodejs/src/index.js | sed -n '1,6 p'
##> error: null
##> statusCode: 200
##> body: {
##> "id": 1,
##> "name": "Leanne Graham",
##> "username": "Bret",
v02: Use ES6 Promise
cd ex/study_http_requests_in_nodejs && pnpm i --save request-promise-native && touch ex/study_http_requests_in_nodejs/src/index02.js
var request = require('request-promise-native');
request('http://jsonplaceholder.typicode.com/users/1').
then( html => console.log('body:', html) ).
catch( err => console.log('error:', err) );
node ex/study_http_requests_in_nodejs/src/index02.js | sed -n '1,6 p'
##> body: {
##> "id": 1,
##> "name": "Leanne Graham",
##> "username": "Bret",
##> "email": "Sincere@april.biz",
##> "address": {
v03: Use JSON Response Data
Edit ex/study_http_requests_in_nodejs/src/index03.js
:
...
request('http://jsonplaceholder.typicode.com/users/1').
then( json => console.log(JSON.parse(json).company))
node ex/study_http_requests_in_nodejs/src/index03.js