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

Postman前置请求(pre-request)脚本登录获取token失败问题求助

Postman 前置请求脚本获取token问题修复方案

问题排查与修复点

  • 核心语法错误:pm.environment.set() 方法需要传入「变量名」和「变量值」两个参数,你当前代码仅传入了变量名access_token,没有从登录响应中提取token值写入环境变量,自然无法获取到有效token。
  • 缺少错误和响应状态判断:没有判断登录请求本身是否发送成功、接口是否返回成功响应,即使登录失败也会执行写入变量的逻辑,无法定位问题。
  • 多余的Content-Type头配置:Postman发送formdata格式请求时会自动生成带boundary参数的Content-Type头,手动写死multipart/form-data会导致boundary缺失,接口无法正确解析表单参数,导致登录请求本身失败。
  • 未按接口实际返回结构取值:需要先确认你所用登录接口的响应结构,调整token的取值路径,常见结构为response.json().data.access_token、response.json().access_token等,可根据实际情况修改。

修正后可用脚本

pm.sendRequest({
    url: 'https://localhost/api/login',
    method: 'POST',
    // 删掉手动设置的Content-Type头,让Postman自动生成
    body: {
      mode: 'formdata',
      formdata: [
        {key: "email", value: "myemail@mydoman.com", disabled: false, description: {content:"", type:"text/plain"}},
        {key: "password", value: "mypass", disabled: false, description: {content:"", type:"text/plain"}},
        {key: "action", value: "login", disabled: false, description: {content:"", type:"text/plain"}}
      ]
    }
  }, function(err, response) { 
       // 先判断请求是否报错
       if (err) {
           console.error('登录请求发送失败:', err)
           return
       }
       // 再判断接口返回状态是否正常
       if (response.code !== 200) {
           console.error('登录接口返回异常,状态码:', response.code, '响应内容:', response.json())
           return
       }
       // 提取响应体内容,根据你的接口实际结构调整token取值路径即可
       const resData = response.json()
       // 示例:假设接口返回结构为 {code:200, data: {access_token: "xxx"}}
       const token = resData.data.access_token
       // 写入环境变量,两个参数缺一不可
       pm.environment.set("access_token", token);
       // 调试用,可在Postman控制台查看token是否正确提取
       console.log('成功获取token:', token)
  });

调试建议

如果修改后还是无法获取,可打开Postman控制台(左下角「Console」按钮),查看请求的发送参数、响应内容,确认是请求参数错误、接口报错,还是token取值路径不对。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 01:15:02