我是node.js的新手,所以有人可以告诉我http.IncomingMessage和http.ClientRequest在使用方面的区别吗?
答案 0 :(得分:0)
http.ClientRequest
表示正在进行的HTTP 请求。它是从http.request()
返回的。阅读文档here。
http.IncomingMessage
表示来自HTTP请求的响应。这将作为'response'
http.ClientRequest
事件的参数传递。 (它也可以是'request'
http.Server
事件的参数。)请参阅文档here。
以下是显示http.ClientRequest
和http.IncomingMessage
的使用的基本示例:
const http = require('http')
// We define a request to google.com
const options = {
hostname: 'www.google.com',
port: 80,
path: '/',
method: 'GET'
};
// req is a http.ClientRequest object
const req = http.request(options)
// Add a listener to req for a response. res is a http.IncomingMessage object
req.on('response', (res) => {
// set the encoding of res
res.setEncoding('utf8')
// http.IncomingMessage is a readable stream, so define an event listener for data
res.on('data', (data) => {
console.log(data)
})
})
// req.end() will send the request to Google
req.end()
http.request()
documentation显示了所有内容如何组合在一起。