superagent如何获取重定向之后的url

lznism
  • 189

superagent如何获取重定向之后的url

我之前的思路是设置.redirects(0),然后通过响应头中的Location来获取重定向之后的url,但是这样失败了

求问大神我该怎么做

回复
阅读 4.8k
1 个回答

301/302等状态码的封装是superagent等http模块的功能设计之一,superagent在拿到301/302会执行做递归跳转直到maxRetrie,所以你如果想获取重定向的url,可以使用原生的http模块

Request.prototype._pipeContinue = function(stream, options){
  this.req.once('response', res => {
    // redirect
    const redirect = isRedirect(res.statusCode);
    if (redirect && this._redirects++ != this._maxRedirects) {
      return this._redirect(res)._pipeContinue(stream, options);
    }
    //...
  })
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏