我正在尝试使用json作为身体数据在jmeter中进行POST,但我只得到400回。我发送的网址也只接受json。我在Postman中使用了相同的卷曲,它工作得很好。我已经尝试将json作为一个没有名称的值放在参数中,并且没有用。
![1]:http://i.stack.imgur.com/1sAdO.png
我只是想发送{“uid”:“jmtest”,“name”:“newdevice”}。
抱歉,我无法发布更多链接采样器结果为
Thread Name: QA test 1-1
Sample Start: 2016-05-11 11:50:19 MDT
Load time: 86
Connect Time: 51
Latency: 86
Size in bytes: 282
Headers size in bytes: 244
Body size in bytes: 38
Sample Count: 1
Error Count: 1
Data type ("text"|"bin"|""): text
Response code: 400
Response message: Bad Request
Response headers:
HTTP/1.1 400 Bad Request
Server: nginx
Date: Wed, 11 May 2016 17:50:19 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 38
Connection: keep-alive
X-Request-Id: 88339ee9-b74f-4e22-b581-e3124949d067
X-Runtime: 0.030877
HTTPSampleResult fields:
ContentType: application/json; charset=utf-8
DataEncoding: utf-8
请求看起来像
``/ url编辑 发布数据: { “设备”:{ “UID”: “jmtest”, “名称”: “newdevice”} [没有饼干] 请求标题: 连接:保持活力 接受:application / vnd.moneydesktop.v2 + json Content_Type:application / json MD-SESSION-TOKEN:编辑 内容类型:application / x-www-form-urlencoded 内容长度:46 主持人:编辑 User-Agent:Apache-HttpClient / 4.5.2(Java / 1.8.0_72)```
并且响应数据是
{
: "status":"400",
: "error":"Bad Request"
}
答案 0 :(得分:11)
Content-Type
标题,其值为application/json
答案 1 :(得分:6)
要在正文中发送带有JSON数据的POST HTTP请求,需要添加
答案 2 :(得分:3)
您可能想做的第一件事是将有效负载放在“主体数据”中,而不是“参数”中
然后,添加一个配置元素“ HTTP Header Manager” 并添加一个带有相应值“ application / json”的参数“ content-type”
现在点击。应该做!
答案 3 :(得分:1)
我发现了我的问题。我设置了Content_type而不是Content-Type,因此它创建了两个内容类型标头。
答案 4 :(得分:1)
enter image description here Dmitri T的以下解决方案对我确实有用。
答案 5 :(得分:1)
答案 6 :(得分:1)
答案 7 :(得分:0)
您必须使用身体数据,而不是参数。将其剪切并粘贴到您请求的下一个标签上。您还应该将实现更改为Java并检查您的令牌是否有效。最后从查看结果树报告项目中检查结果。它必须适合你。
答案 8 :(得分:0)
根据你附上的图片,你已经在queryparameters中粘贴了请求,有效负载必须在正文部分
在queryParam部分检查你有有效负载的屏幕截图
答案 9 :(得分:0)
我也遇到了同样的问题,在http请求的内容编码中,通过Tentering utf-8解决了该问题。请尝试。
答案 10 :(得分:0)
设置HTTP标头管理器为我解决了该问题
答案 11 :(得分:0)
除了上面说的很多之外,请确保从网站复制/粘贴 Accept, Content-Type 没有尾随空格!我花了好几个小时才弄明白。只是一个警告。
只需编辑添加,如果发生该错误,返回码为 415:不支持的媒体类型