如何使用节点请求发送不记名令牌和 x-www-form-urlencoded 数据
How to send bearer token and x-www-form-urlencoded data using Node Request
我想使用节点模块 request 复制这个 Postman 调用。查看屏幕截图。
Screenshot
Screenshot2
如屏幕截图所示,在我的请求中,我需要传递 bearer token
以及 x-www-form-urlencoded
值。我尝试按照此 SO post 中的前 2 个答案进行操作,但没有成功。
我基本上都试过了
let form = {
"field1": value1,
"filed2": value2
};
let headers = {
'Content-Type' : 'application/x-www-form-urlencoded',
'Authorization': 'Bearer ' + token
}
request.post({ url: "https://myapp.net/myendpoint", form: form, headers: headers }, function(err, res, success){
console.log(success);
});
还有
let form = {
"field1": value1,
"field2": value2
};
var formData = querystring.stringify(form);
let options = {
uri: "https://myapp.net/myendpoint",
method: 'POST',
auth: {
'bearer': token
},
headers: {
'Content-Type' : 'application/x-www-form-urlencoded'
},
body: formData
};
request.post(options, function(err, res, success){
console.log(success);
});
有人可以告诉我正确的方法吗?
编辑:
澄清一下:这些请求的结果是 400 状态。如果我发送 form-data
,我也会在 Postman 上获得 400,但如果我发送 x-www-form-urlencoded
,那么它会在邮递员中成功。我不知道如何按要求执行此操作。
试试这个
let options = {
uri: "https://myapp.net/myendpoint",
method: 'POST',
headers: {
'Authorization' : 'Bearer ' + token
},
form: {
"field1": value1,
"field2": value2
};
};
request.post(options, function(err, res, success){
console.log(success);
});
应该自动设置内容类型
我想使用节点模块 request 复制这个 Postman 调用。查看屏幕截图。
Screenshot
Screenshot2
如屏幕截图所示,在我的请求中,我需要传递 bearer token
以及 x-www-form-urlencoded
值。我尝试按照此 SO post 中的前 2 个答案进行操作,但没有成功。
我基本上都试过了
let form = {
"field1": value1,
"filed2": value2
};
let headers = {
'Content-Type' : 'application/x-www-form-urlencoded',
'Authorization': 'Bearer ' + token
}
request.post({ url: "https://myapp.net/myendpoint", form: form, headers: headers }, function(err, res, success){
console.log(success);
});
还有
let form = {
"field1": value1,
"field2": value2
};
var formData = querystring.stringify(form);
let options = {
uri: "https://myapp.net/myendpoint",
method: 'POST',
auth: {
'bearer': token
},
headers: {
'Content-Type' : 'application/x-www-form-urlencoded'
},
body: formData
};
request.post(options, function(err, res, success){
console.log(success);
});
有人可以告诉我正确的方法吗?
编辑:
澄清一下:这些请求的结果是 400 状态。如果我发送 form-data
,我也会在 Postman 上获得 400,但如果我发送 x-www-form-urlencoded
,那么它会在邮递员中成功。我不知道如何按要求执行此操作。
试试这个
let options = {
uri: "https://myapp.net/myendpoint",
method: 'POST',
headers: {
'Authorization' : 'Bearer ' + token
},
form: {
"field1": value1,
"field2": value2
};
};
request.post(options, function(err, res, success){
console.log(success);
});
应该自动设置内容类型