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

无法使用Cypress拦截请求

拦截带Bearer令牌的请求失效排查方案
  • 检查请求头大小写匹配
    不少场景下请求头会出现大小写不一致的情况(比如authorization小写),如果你的代码硬匹配Authorization就会抓不到。建议用框架提供的忽略大小写的获取方法,比如request.headers.get('authorization'),或者统一转成小写后再判断。

  • 确认拦截器执行时机与优先级
    要是用的前端拦截器(比如Axios),得保证拦截器是在请求发送前正确挂载的,别被后续的拦截器配置覆盖。比如Axios里要把拦截逻辑写在axios.interceptors.request.use()里,而且不要在之后重置拦截器实例。

  • 修正Bearer令牌的匹配逻辑
    注意Bearer和令牌之间的空格!有些请求里可能少了这个空格,或者Bearer写成了小写。用正则来做宽松匹配更靠谱:

    const authHeader = request.headers.get('authorization');
    if (authHeader && /^Bearer\s+.+$/i.test(authHeader)) { // 加i忽略大小写
      const token = authHeader.split(' ')[1];
      // 后续处理逻辑
    }
    
  • 排查请求是否绕过拦截器
    跨域预检的OPTIONS请求、或者你配置了白名单的请求,通常会跳过拦截器。检查你的拦截器规则,是不是把目标请求误放到了白名单里,或者OPTIONS请求干扰了判断。

  • 验证拦截逻辑的执行路径
    在拦截器里加个日志输出,比如console.log('拦截器触发', request.headers),看看目标请求到底有没有进入拦截逻辑,是不是因为条件判断错误直接跳过了处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 03:07:04