Postman 获取包含变量值的邮递员请求的内容长度

Postman 获取包含变量值的邮递员请求的内容长度,postman,web-api-testing,Postman,Web Api Testing,如何以编程方式获取包含变量值的邮递员请求的内容长度 我需要在Postman中编写的PUT请求中包含content-length头。我可以在预请求脚本中获取请求内容长度,但是,根据,预请求脚本(duh)在生成请求(或仅发送?)之前获取内容长度。这对于我的场景来说是有问题的,因为我需要在为请求填充变量值之后的内容长度 //Get request length var rdata = request.data; var requestLength = JSON.stringify(JSON.parse

如何以编程方式获取包含变量值的邮递员请求的内容长度

我需要在Postman中编写的PUT请求中包含content-length头。我可以在预请求脚本中获取请求内容长度,但是,根据,预请求脚本(duh)在生成请求(或仅发送?)之前获取内容长度。这对于我的场景来说是有问题的,因为我需要在为请求填充变量值之后的内容长度

//Get request length
var rdata = request.data;
var requestLength = JSON.stringify(JSON.parse(rdata)).length;
pm.environment.set("requestLength", requestLength);
console.log(requestLength);

pm.environment.set(“requestLength”,request.data.length)

您能在请求中获取响应头并将该值分配给变量吗?像
pm.environment.set('requestLength',pm.response.headers('Content-Length'))
?我实际上尝试了这个方法,并意识到它并没有像我想象的那个样做-
pm.response.headers
返回一个标题数组。您可以对其执行JSON.stringify(),然后执行JSON.parse(),以获得所需的值。这和你的想法非常相似。您可以试试这个([4]是我自己要求的,可能需要更改)
var contentLength=JSON.stringify(pm.response.headers);pm.environment.set('contentLength',JSON.parse(contentLength)[4].value)作为一种解决方法,您是否尝试执行第一个“虚拟请求”(使用HEAD而不是PUT)以获取“测试”部分的数据长度,设置全局变量,然后使用正确的值调用true请求?但是它不是很干净。或者你可以在“测试”选项卡中得到你的请求大小,第二次,试着从你的最终请求的元素(正文、标题等)中计算它?来自评论:在堆栈溢出时不鼓励只使用代码的答案,因为它们没有解释它是如何解决问题的。请编辑您的答案,解释此代码的作用以及它如何回答问题,以便对OP以及其他有类似问题的用户有用。请参阅:。谢谢