NodeJS 如何在使用axios重定向后获得登录页URL

wswtfjt7  于 2023-01-30  发布在  Node.js
关注(0)|答案(3)|浏览(300)

使用NodeJS,如果我使用maxRedirects = 5的axios,如果我键入一个将被重定向到另一个URL的URL,我如何从最终的登录页获得该URL?在HTTP头中,当有HTTP 200代码时,登录页没有头字段。
例如:如果我用途:

axios.get('http://stackoverflow.com/',config)
.then(function(response) { console.log(response);}

axios会自动重定向到https://stackoverflow.com。那么,如何才能获得最终的URL值“https://stackoverflow.com“呢?
我是否应该调查返回的对象“response”并从域和URI重新创建完整的url?

sh7euo9m

sh7euo9m1#

这是我在NodeJS上的快速而肮脏的解决方案。起始URL是http://www.stackoverflow.com/questions/47444251/how-to-get-the-landing-page-url-after-redirections-using-axios,最终登陆URL是https://stackoverflow.com/questions/47444251/how-to-get-the-landing-page-url-after-redirections-using-axios请找到下面的窍门来获得登陆URL。

axios.get('http://www.stackoverflow.com/questions/47444251/how-to-get-the-landing-page-url-after-redirections-using-axios').then(function(response) {
      console.log(response.request.res.responseUrl);
     }).catch(function(no200){
      console.error("404, 400, and other events");
     
    });

response.request.res.responseURL是axios返回的JSON对象中的右字段,如果从浏览器运行axios,则使用console.log(response.request.responseURL);

wh6knrhe

wh6knrhe2#

我通过以下途径解决了这个问题:

response.request.res.responseUrl

Nicholas应答无法获取端口(如localhost:8080

gv8xihay

gv8xihay3#

我通过以下途径解决了这个问题:

response.request.responseURL

MrFabio的回答对我失败。

相关问题