使用Web协议在LoadRunner回放时出现Bad Request(400)错误求解决
解决LoadRunner脚本POST请求400 Bad Request问题的建议
从你提供的脚本代码来看,有几个明显的语法和格式问题,这大概率是导致400错误的核心原因,我给你梳理几个修复方向:
修复请求体(Body)的JSON语法错误
你当前的Body部分明显不完整且有语法残留:Body={"loan":{"borrow":10000,"reason":"09"},"identity":{"firstName":"Deseriee","lastName":"Argue",LAST);这里存在两个致命问题:
- JSON结构未闭合:
"lastName":"Argue"后面多了逗号,且整个JSON对象没有用}闭合; - 末尾的
LAST);是明显的代码残留,完全破坏了JSON格式。
修复后的Body应该是完整有效的JSON:
{"loan":{"borrow":10000,"reason":"09"},"identity":{"firstName":"Deseriee","lastName":"Argue"}}- JSON结构未闭合:
修正URL参数的引号配对错误
脚本里的"URL=" application URL"存在引号不匹配的问题,正确的写法应该是把URL完整放在引号内,比如:"URL=http://your-actual-api-url/submit",请替换成你的真实接口地址,并确保引号正确闭合。
验证JSON格式的有效性
400 Bad Request最常见的原因就是请求体格式无效,建议你把修复后的JSON放到本地的JSON校验工具(比如VS Code的JSON校验功能、本地的JSONlint工具)里检查,确保没有逗号位置错误、括号未闭合、引号不配对这类低级问题。再次核对请求头与接口要求
虽然你说已经添加了所有请求头,但还是要仔细核对:- 确认
EncType是否和接口要求一致,有些接口可能只接受application/json,不需要额外的charset=utf-8; - 检查是否遗漏了必填请求头,比如
Authorization、Accept等,最好和Postman或浏览器中成功发送的请求头完全对齐; - 可以尝试手动添加
Content-Length头,指定请求体的字节长度,部分接口对这个头的要求比较严格。
- 确认
对比抓包结果找差异
用抓包工具(比如Fiddler)分别捕获成功请求(浏览器/Postman发送的)和LoadRunner脚本的请求,对比以下内容:- 请求URL是否完全一致(包括参数、路径);
- 请求头的每一项是否完全匹配(包括大小写、值的内容);
- 请求体的内容、编码格式是否完全相同。
哪怕是一个空格、一个字符的差异,都可能导致接口返回400错误。
内容的提问来源于stack exchange,提问作者user2103744
相关产品推荐
相关产品推荐

