簡體   English   中英

API 請求適用於郵遞員,但不適用於 Node.js(請求)

[英]API request works with postman, but not in Node.js (request)

我正在開發一個與 API 對話的項目,我的腳本在 nodeJS 中(這是一個大項目,所以我會給你一個非常簡化的版本)

基本上,當我使用郵遞員向 API 發出 PUT 請求時,它工作正常,當我使用我的代碼執行此操作時:GET 效果很好(所以我知道 URL 是正確的),但是 PUT 不適用於我的腳本,我的控制台上沒有錯誤,API simple 發回 OK 狀態,所以我不知道哪里出錯了

這是我的腳本的一個非常基本的版本(也不起作用)

(我知道網址是正確的)

PUT參數:

{ 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)
});

在 Postman 中,我有相同的 baseURL 和 url,以及相同的參數“auth”和“value”,正文設置為“none”,標題為Content-type: application/json

響應(在 Postman 和 NodeJS 中):

{
    "Status": "Success"
}

那么有誰知道為什么它適用於郵遞員而不適用於請求模塊? 我感謝你們所有人!

原來問題出在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'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM