requset.get()。pipe()如何工作?

时间:2018-03-12 07:24:28

标签: node.js request

如果我使用

request.get(imageUrl).pipe(resposne)

那么,它是否会返回从request.get()收到的所有数据的回复,包括标题和所有其他数据?

2 个答案:

答案 0 :(得分:1)

当您想要传输响应时,您将使用管道。

例如

request('http://google.com/doodle.png').pipe(fs.createWriteStream('doodle.png'))

request.get('http://google.com/img.png').pipe(request.put('https://xxxe.com/img.png)

您不需要在您的情况下使用管道,因为response.get也将包含所有信息。

答案 1 :(得分:0)

假设您使用的是request module

请求是一个可读的流(这就是为什么你可以使用pipe()函数)。这里的流中可读数据是HTTP响应的主体。

要获取标题和状态代码,您还可以收听事件:

request
  .get('http://example.com/img.png')
  .on('response', function(response) {
    console.log(response.statusCode) // 200
    console.log(response.headers['content-type']) // 'image/png'
  })
  .pipe(request.put('http://example.com/img.png'))