You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js中fetch无法检测到浏览器可识别的URL重定向问题求助

Node.js中fetch无法检测到浏览器可识别的URL重定向问题求助

嘿,各位大佬,我最近碰到个头疼的问题,想请大家帮忙看看!

我的需求是检测一个URL是否会重定向到其他地址,如果是的话,获取最终跳转后的目标URL。拿https://eu.gymshark.com来举例:在浏览器里访问这个链接时,它会正常跳转到https://eu.shop.gymshark.com,但我用下面这段node-fetch代码运行后,输出的却还是原URLhttps://eu.gymshark.com。不过奇怪的是,同样的代码在测试https://dior.com.my/(会跳转到https://shop.dior.com.my/)时却能正常工作,这到底是哪里出问题了?

我的代码如下:

const fetch = require("node-fetch")

async function getRedirects(url){

const header = new fetch.Headers( {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'})

let response = await fetch(url, {"headers": header, redirect: 'follow', follow: 10})

return response.url

}

getRedirects("https://eu.gymshark.com").then((data) => console.log(data));

我猜会不会是gymshark的重定向方式和dior不一样?比如是不是用了客户端JavaScript来实现跳转,而node-fetch只会处理HTTP 3xx状态码的服务器端重定向,不会执行页面里的JS?如果是这样的话,我该怎么修改代码才能捕获到这种客户端重定向呢?

期待大家的指点!

备注:内容来源于stack exchange,提问作者Burak Toy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 15:59:51