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

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

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

求问大神我该怎么做

阅读 2.4k
评论 2018-04-07 提问
    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);
        }
        //...
      })
    }
    评论 赞赏 2018-04-08
      撰写回答

      登录后参与交流、获取后续更新提醒