我想使用npm request package向服务发布请求。该服务接受逗号分隔数字的请求正文,例如1,2,3
,但是当我发布请求时,正文为"1,2,3"
,而服务无法识别。我使用以下代码:
import request from "request";
export function getIt(numbers) {
return new Promise((resolve, reject) => {
const uri = 'http://foo.bar/getIt';
const numbersBody = numbers.join(',')
console.log('post body: ', numbersBody) // prints 1,2,3
request
.post(
uri,
{ json: true, rejectUnauthorized: false, body: numbersBody },
(err, httpResponse, body) => {
let error = err && err.message ? err.message : err;
if (body && body._error_code) {
error = body.message;
}
if (error) {
reject(error);
} else {
resolve(body);
}
}
)
});
当我使用Wireshark检查网络流量时,我可以看到正文变为"1,2,3"
。这似乎是因为请求包将其写为json对象。我试图删除该选项的json: true
部分,并尝试将其更改为false
,但会引发异常。所以我不知道如何使字符串成为原始的主体,没有引号。有没有办法让这种情况发生?