上QQ阅读APP看书,第一时间看更新
Making HTTP requests
It is often necessary for a network application to make external HTTP calls. HTTP servers are also often called upon to perform HTTP services for clients making requests. Node provides an easy interface for making external HTTP calls.
For example, the following code will fetch the HTML front page of www.example.org:
const http = require('http');
http.request({
host: 'www.example.org',
method: 'GET',
path: "/"
}, function(response) {
response.setEncoding("utf8");
response.on("readable", () => console.log(response.read()));
}).end();
As we can see, we are working with a Readable stream, which can be written to a file.
A popular Node module for managing HTTP requests is Mikeal Roger's request: https://github.com/request/request
Because it is common to use HTTP.request in order to GET external pages, Node offers a shortcut:
http.get("http://www.example.org/", response => {
console.log(`Status: ${response.statusCode}`);
}).on('error', err => {
console.log("Error: " + err.message);
});
Let's now look at some more advanced implementations of HTTP servers, where we perform general network services for clients.