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

axios GET请求如何正确发送Viewport-Width获取桌面版站点内容

问题根因

服务端做移动端/桌面端适配时,不会识别你自定义添加的Width、Viewport-Width请求头——这两个字段不属于普通网页请求的标准请求头,常规桌面浏览器访问时不会携带这类字段,加了反而可能被服务端的反爬规则标记为异常请求。
绝大多数站点的版本判定优先级从高到低为:Cookie中存储的用户版本偏好、标准客户端提示头(Client Hints)中的移动端标识、User-Agent字段中的移动端特征、请求来源特征。你当前的请求缺少桌面端的标准特征标识,才会被默认返回移动端内容。

修复方案
  • 移除无效自定义头:删掉Width、Viewport-Width两个自定义字段,同时移除GET请求不需要的Content-type头(该头仅用于标记请求体格式,无请求体时携带会触发部分服务端的校验异常)。
  • 补全桌面端标准请求头:重点添加现代桌面浏览器默认携带的Sec-*系列安全头、客户端提示头,明确标记非移动端身份。
  • 开启会话保持:配置axios自动维护Cookie,避免服务端通过会话标记反复重定向到移动端站点。
修正后可运行代码
const axios = require('axios');
const cheerio = require('cheerio');

// 初始化带会话保持的axios实例,模拟浏览器cookie存储逻辑
const req = axios.create({
    withCredentials: true,
    timeout: 10000,
    headers: {
        // 桌面端浏览器UA,确保无Mobile、Android等移动端关键词
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0",
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
        "Accept-Language": "uk,en-US;q=0.7,en;q=0.3",
        "Accept-Encoding": "gzip, deflate, br",
        "Connection": "keep-alive",
        "Upgrade-Insecure-Requests": "1",
        "Sec-Fetch-Dest": "document",
        "Sec-Fetch-Mode": "navigate",
        "Sec-Fetch-Site": "none",
        "Sec-Fetch-User": "?1",
        // 关键标识:明确告知服务端当前请求不是移动端发起
        "Sec-CH-UA-Mobile": "?0",
        "Sec-CH-UA-Platform": "\"Windows\"",
        "DNT": "1"
    }
});

async function fetchDesktopPage() {
    const resp = await req.get('https://ukrparts.com.ua/category/komplekt-stsepleniya/c-134/');
    const $ = cheerio.load(resp.data);
    // 提取目标内容
    const listContent = $('ul').html();
    return listContent;
}

// 调用测试
fetchDesktopPage().then(data => {
    console.log('获取桌面版内容成功:', data);
}).catch(err => {
    console.error('请求失败:', err);
});

特殊情况处理:如果按上述配置后仍返回移动端内容,可以先在桌面浏览器打开目标站点,手动确认站点已切换到桌面版后,复制该站点下存储的Cookie值,在axios请求头中添加Cookie字段携带对应值,即可强制获取桌面版响应。

内容的提问来源于stack exchange,提问作者Alex_Ku

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 02:57:13