Skip to content

Instantly share code, notes, and snippets.

@abhinavKeshri07
Created November 25, 2019 16:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save abhinavKeshri07/9dc4069ffd23f66ebc453d0c0e92df6d to your computer and use it in GitHub Desktop.
Save abhinavKeshri07/9dc4069ffd23f66ebc453d0c0e92df6d to your computer and use it in GitHub Desktop.
This file lets you make get request with nodejs to any server http or https. It minimal amount of correct headers for the get request to work. Thank me later.
const https = require('https');
const http = require('http');
const querystring = require('querystring');
const url = require('url');
let get_GET_data = function(urlToGET) {
return new Promise(function(resolve, reject) {
//console.log("get_GET_data was called");
urlToGET = urlToGET + "";
//console.log(urlToGET + " = url");
let parsed_url = url.parse(urlToGET);
let secure = false;
if (parsed_url.protocol === 'https:') {
secure = true;
}
//console.log(parsed_url);
let options = {
host: parsed_url.hostname,
port: parsed_url.port,
path: parsed_url.path,
method: 'GET',
headers: {
"User-Agent": 'My Get code',
"Accept": "*/*",
"Cache-Control": "no-cache",
'Host': parsed_url.hostname
}
}
let protocol = http;
if (secure) {
options.rejectUnauthorized = false;
protocol = https;
}
let cbresponse = "";
let request = protocol.request(options, (response) => {
response.setEncoding('utf8');
if (response.statusCode != 200) {
reject({ message: "not 200 statuscode", statusCode: response.statusCode })
}
response.on('data', function(chunk) {
cbresponse = cbresponse + chunk;
});
});
request.on('error', (e) => {
reject(e);
});
request.on('close', () => {
resolve(cbresponse);
});
request.end();
});
}
module.exports = get_GET_data;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment