O'Reilly logo

Professional Node.js: Building Javascript Based Scalable Software by Pedro Teixeira

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 13

Making HTTP Requests

WHAT’S IN THIS CHAPTER?

  • Making GET requests to an HTTP server
  • Using various HTTP verbs on HTTP requests
  • Inspecting request response status and headers
  • Using the third-party request module

HTTP has become a central part of the infrastructure of many private and public services on the Internet. Not only used to serve static content, HTTP has become the preferred way of serving and consuming public-facing API calls.

Because it is good at handling I/O, Node is a good fit not only for providing but also for using these HTTP services. In the following sections you will learn to perform and control HTTP requests using the core http module and a useful third-party request module.

In the HTTP protocol, the request has two important properties: the URL and the method. The most common method used is the GET method, which is mainly used to request content, but other methods exist like POST (mainly used for submitting web forms), PUT, DELETE, and HEAD. Each one gets different results from the server.

MAKING GET REQUESTS

This example uses http.get to make an HTTP GET request to the URL www.google.com:80/index.html.

var http = require('http');
 
var options = {
  host: "www.google.com",
  port: 80,
  path: "/index.html"
};
 
http.get(options, function(res) {
  console.log('Got response:' + res.statusCode);
});

Here you are specifying that you want to perform a GET request to the hostname www.google.com and path /index.html, using TCP port 80. The callback is invoked when ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required