M
http.get
History
Added in: v0.3.6
v0.3.6
Introduced in: v0.10.0
v0.10.0
The
url parameter can now be passed along with a separate options object.v10.9.0
The
options parameter can be a WHATWG URL object.v7.5.0
http.get(url, options?, callback?): http.ClientRequest
Attributes
options:
ObjectAccepts the same
options as
http.request(), with the method set to GET by default.callback:
FunctionReturns:
http.ClientRequestSince most requests are GET requests without bodies, Node.js provides this
convenience method. The only difference between this method and
http.request() is that it sets the method to GET by default and calls req.end()
automatically. The callback must take care to consume the response
data for reasons stated in http.ClientRequest section.
The callback is invoked with a single argument that is an instance of
http.IncomingMessage.
JSON fetching example:
http.get('http://localhost:8000/', (res) => { const { statusCode } = res; const contentType = res.headers['content-type']; let error; // Any 2xx status code signals a successful response but // here we're only checking for 200. if (statusCode !== 200) { error = new Error('Request Failed.\n' + `Status Code: ${statusCode}`); } else if (!/^application\/json/.test(contentType)) { error = new Error('Invalid content-type.\n' + `Expected application/json but received ${contentType}`); } if (error) { console.error(error.message); // Consume response data to free up memory res.resume(); return; } res.setEncoding('utf8'); let rawData = ''; res.on('data', (chunk) => { rawData += chunk; }); res.on('end', () => { try { const parsedData = JSON.parse(rawData); console.log(parsedData); } catch (e) { console.error(e.message); } }); }).on('error', (e) => { console.error(`Got error: ${e.message}`); }); // Create a local server to receive data from const server = http.createServer((req, res) => { res.writeHead(200, { 'Content-Type': 'application/json' }); res.end(JSON.stringify({ data: 'Hello World!', })); }); server.listen(8000);