如何在 301 重定向之前使用 superagent 获取原始 html 代码?

how to get the raw html code use superagent before 301 redirects?

这是网站 http://sf.gg, when open it, it will be redirected to the site https://segmentfault.com

使用curl我可以获得http://sf.gg的html代码:

<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.4.6 (Ubuntu)</center>
</body>
</html>

我想知道如何使用节点模块获取它superagent?

看到了Following redirects,但是不知道怎么用,或者说是正确的使用方法?

SuperAgent 默认将 3xx 响应视为 errors。 所以你必须在重定向发生之前处理错误以获取页面的内容。我们可以强制 SuperAgent 不遵循带有 .redirects(0) 的重定向并打印响应:

const superagent = require('superagent') 

superagent
  .get('http://sf.gg')
  .redirects(0)
  .on('error', err => {
    console.log(err.response.text)
  })
  .end()

或者您可以使用 .ok() 更精确地对响应采取行动:

superagent
  .get('http://sf.gg')
  .redirects(0)
  .ok(res => {
    if (res.status === 301)
      console.log(res.text)
  })
  .end()