我使用邮递员6.0发送http请求。为了发送请求,我使用请求前脚本获取令牌并将其放入环境中,以便在后续请求中使用它。以下脚本无效,因为未发送正文。有什么事吗?
const getTaxAccessToken={
url: 'http://dev.xxx.com:4001/api/v1/portal/account/tax-login',
method: "post",
body: {
'loginIdentity': 'admic',
'password': 'abc123'
},
header: {
'Content-Type': 'application/json'
}
};
pm.sendRequest(getTaxAccessToken, function (err, response) {
console.log("get accesstoken");
console.log(response.access_Token);
pm.environment.set("taxAccessToken", response.access_Token);
});
Run Code Online (Sandbox Code Playgroud)
Mus*_*tor 14
Postman v8.3.0update()引入了该方法,允许您直接从预请求脚本设置请求正文。
对于您的用例,您可以简单地使用:
\npm.request.body.update({\n mode: \'raw\',\n raw: JSON.stringify({\'loginIdentity\': \'admic\', \'password\': \'abc123\'})\n});\nRun Code Online (Sandbox Code Playgroud)\n甚至更短:
\npm.request.body.update(JSON.stringify({\'loginIdentity\': \'admic\', \'password\': \'abc123\'}));\nRun Code Online (Sandbox Code Playgroud)\n由于标题不是专门针对 JSON 请求体定制的,我想我应该添加一些示例来说明如何处理其他数据,因为许多人在 Google 上搜索时可能会找到此页面,并遇到其他内容类型的问题。
\nrawPostman 需要 a string,因此您可以传输任何可以表示为 a 的string内容,例如纯文本、HTML、XML、JSON 等。
// plain text\npm.request.body.update(`Hello World!`);\n// HTML\npm.request.body.update(`<html>...</html>`);\n// XML\npm.request.body.update(`<?xml version="1.0" encoding="UTF-8"?>...`);\n// JSON\npm.request.body.update(JSON.stringify({ key: `value` }));\nRun Code Online (Sandbox Code Playgroud)\npm.request.body.update({\n mode: "urlencoded",\n urlencoded: [{\n key: "key",\n value: "value with spaces and special chars ?/ and umlaute \xc3\xb6\xc3\xbc\xc3\xa4"\n }]\n});\nRun Code Online (Sandbox Code Playgroud)\npm.request.body.update({\n mode: "formdata",\n formdata: [{\n key: "key",\n value: "value with spaces and special chars ?/ and umlaute \xc3\xb6\xc3\xbc\xc3\xa4"\n }]\n});\nRun Code Online (Sandbox Code Playgroud)\npm.request.body.update({\n mode: \'graphql\',\n graphql: {\n query: `\n query {\n hero {\n name\n friends {\n name\n }\n }\n }`\n }\n});\nRun Code Online (Sandbox Code Playgroud)\n\n\n基于GraphQL 字段教程的示例。
\n
pm.request.body.update({\n mode: "formdata",\n formdata: [\n {\n key: "file", // does not need to be "file"\n type: "file", // MUST be "file"\n src: "/C:/Users/MyUser/Documents/myFile.zip"\n }\n ]\n})\nRun Code Online (Sandbox Code Playgroud)\n请注意:这仅适用于当前工作目录中的文件。Form param \'file\', file load error: PPERM: insecure file access outside working directory否则,您将在 Postman 控制台中收到类似这样的错误。
当您转到 时,您可以看到您的工作目录在哪里Settings | General | Working Directory。还有一个选项Allow reading files outside working directory,您可以启用从任何地方读取文件,但请注意,这可能允许其他人从您的计算机窃取数据,例如当您执行不受信任的集合时。
小智 7
尝试这个。
body: {
mode: 'raw',
raw: JSON.stringify({'loginIdentity': 'admic', 'password': 'abc123'})
}
Run Code Online (Sandbox Code Playgroud)
如果请求需要是类型application/x-www-form-urlencoded:
const options = {
url: 'http://some/url',
method: 'POST',
header: {
'Accept': '*/*',
'Content-Type': 'application/x-www-form-urlencoded',
},
body: {
mode: 'urlencoded',
urlencoded : [
{ key: 'loginIdentity', value: 'admic'},
{ key: 'password', value: 'abc123'},
]
}
};
pm.sendRequest(options, function (err, res) {
// ...
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2785 次 |
| 最近记录: |