Skip to content

Instantly share code, notes, and snippets.

@abhinavKeshri07
Created November 25, 2019 16:41
Embed
What would you like to do?
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