官术网_书友最值得收藏!

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.

主站蜘蛛池模板: 通山县| 金秀| 丰镇市| 金寨县| 曲麻莱县| 山东省| 武定县| 桦南县| 四川省| 家居| 乳山市| 都兰县| 三江| 鹿泉市| 霍林郭勒市| 景洪市| 巴塘县| 安康市| 旬阳县| 道孚县| 睢宁县| 郸城县| 自贡市| 湘乡市| 靖安县| 大安市| 阿合奇县| 玛纳斯县| 随州市| 定襄县| 郁南县| 东宁县| 湖南省| 临漳县| 钟山县| 麻江县| 高阳县| 西乡县| 巴彦淖尔市| 清镇市| 遂昌县|