鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ superagent如何獲取重定向之后的url

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

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

我之前的思路是設(shè)置.redirects(0),然后通過響應(yīng)頭中的Location來獲取重定向之后的url,但是這樣失敗了

求問大神我該怎么做

回答
編輯回答
骨殘心

301/302等狀態(tài)碼的封裝是superagent等http模塊的功能設(shè)計之一,superagent在拿到301/302會執(zhí)行做遞歸跳轉(zhuǎn)直到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年7月18日 16:58