Javascript API请求与postman一起工作,但不在Node.js(请求)中

Javascript API请求与postman一起工作,但不在Node.js(请求)中,javascript,node.js,api,postman,Javascript,Node.js,Api,Postman,我正在做一个与API对话的项目,我的脚本是nodeJS(这是一个大项目,所以我会给你一个非常简化的版本) 基本上,当我向API发出PUT请求时,与邮递员一起,它工作得很好, 当我使用我的代码执行时:GET工作得很好(因此我知道URL是正确的),但是PUT不适用于我的脚本,我在控制台上没有收到错误,API simple返回OK状态,因此我没有任何错误的线索 这是我的脚本的一个非常基本的版本(也不起作用) (我知道URL是正确的) 放置参数: { method: 'PUT', baseUrl:

我正在做一个与API对话的项目,我的脚本是nodeJS(这是一个大项目,所以我会给你一个非常简化的版本)

基本上,当我向API发出PUT请求时,与邮递员一起,它工作得很好, 当我使用我的代码执行时:GET工作得很好(因此我知道URL是正确的),但是PUT不适用于我的脚本,我在控制台上没有收到错误,API simple返回OK状态,因此我没有任何错误的线索

这是我的脚本的一个非常基本的版本(也不起作用)

(我知道URL是正确的)

放置参数:

{ method: 'PUT',
  baseUrl: 'https://fusionrv.XXXX.XX/fusion/apiservice',
  url:
   'XXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXX',
  qs:
   { auth:
      'AUTH_KEY',
     value: 1 },
  headers: { 'content-type': 'application/json' } }
request(putParams, (err, res) => {
    if (err) console.log(err);
    data = JSON.parse(res.body)
    console.log(data)
});
{
    "Status": "Success"
}
简单代码(无导入):

{ method: 'PUT',
  baseUrl: 'https://fusionrv.XXXX.XX/fusion/apiservice',
  url:
   'XXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXX',
  qs:
   { auth:
      'AUTH_KEY',
     value: 1 },
  headers: { 'content-type': 'application/json' } }
request(putParams, (err, res) => {
    if (err) console.log(err);
    data = JSON.parse(res.body)
    console.log(data)
});
{
    "Status": "Success"
}
在Postman中,我有相同的baseURL和url,以及相同的参数“auth”和“value”,主体设置为“none”,标题为
Content-type:application/json

回复(邮递员和NodeJS):

{ method: 'PUT',
  baseUrl: 'https://fusionrv.XXXX.XX/fusion/apiservice',
  url:
   'XXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXX',
  qs:
   { auth:
      'AUTH_KEY',
     value: 1 },
  headers: { 'content-type': 'application/json' } }
request(putParams, (err, res) => {
    if (err) console.log(err);
    data = JSON.parse(res.body)
    console.log(data)
});
{
    "Status": "Success"
}
那么,有人知道为什么它与postman一起工作,而与request模块不一起工作吗?
我感谢你们所有人

原来问题出在API上,我需要做一个POST请求并使用不同的URL访问它,这是一个非常奇怪的API。

原来问题出在API上,我需要做一个POST请求并使用不同的URL访问它,这是一个非常奇怪的API。

添加用户代理作为标题的一部分

'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36'

将用户代理添加为标头的一部分

'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36'

您使用什么进行请求?您是如何执行PUT请求的?您使用的是什么工具或框架?您是否尝试将
qs
更改为
body
?对不起,我使用的是Node.js中的请求模块,显然是postman,它是发送到API的查询字符串,是一个空的body。您使用它来发出请求可能有用吗?您如何处理PUT请求?您使用的是什么工具或框架?您是否尝试将
qs
更改为
body
?对不起,我使用的是Node.js中的请求模块,显然是postman,它是发送到API的查询字符串,是一个空的body。这有用吗