如何在Node.js中遵循HTTP重定向?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (54)

我想在节点中打开一个页面并处理我的应用程序中的内容。

var opts = {host: host, path:pathname, port: 80};
http.get(opts, function(res) {
  var page = '';
  res.on('data', function (chunk) {
    page += chunk;
  });
  res.on('end', function() {
     // process page
  });

但是,如果页面返回301/302重定向,这不起作用。如果有多个重定向,我该如何以可重用的方式来做到这一点?在http上面是否有一个包装模块可以更轻松地处理来自节点应用程序的http响应处理?

提问于
用户回答回答于

在http上面是否有一个包装模块可以更轻松地处理来自节点应用程序的http响应处理?

request

请求中的重定向逻辑

用户回答回答于

如果只想遵循重定向,但仍想使用内置的HTTP和HTTPS模块,我建议使用https://github.com/olalonde/follow-redirects。

你所需要做的就是替换:

var http = require('http');

通过

var http = require('follow-redirects').http;

并且所有请求都会自动跟踪重定向。

扫码关注云+社区

领取腾讯云代金券