簡體   English   中英

無法使用來自 RESTFUL API 的節點獲得正文響應

[英]Can't get body response with Node from RESTFUL API

我正在嘗試使用 Node.js 從 RESTFUL API 獲得正文響應,它是發送 GET 請求的“請求”庫。 這是代碼:

const request = require('request');

const url = 'https://myurl.com';

const headers = {
    'x-functions-key': 'mysecretkey'
};
request.get(`${url}${headers}`, (err, response, body) =>{
    if (err){
        console.log(err)
    }
    console.log(body)
})

但是當我運行“node myfile”時,我沒有得到正文的響應,控制台返回是空白的。 我想我錯過了一些東西。 我已經用 Postman 測試了 URL 和密鑰,它工作正常,JSON 響應在那里出現。 觀察:我是 Node 新手,嘗試使用本教程: https://www.twilio.com/blog/2017/08/http-requests-in-node-js.ZFC35FDC70D5FC69D23EZ88 出於安全原因,“url”和“key”在這里被屏蔽。任何幫助對我來說都很好,我很感激。

問題是在request.get行你有你的 URL 和標題模板

`${url}${headers}`

這是有關自定義標頭的文檔

所以解決方案是創建一個像這樣的選項變量:

const options = {
  url: 'https://myurl.com',
  headers: {
    'x-functions-key': 'mysecretkey'
  }
};

然后將其傳遞給請求

request.get(options, (err, response, body) =>{
    if (err){
        console.log(err)
    }
    console.log(body)
})

希望這可以幫助

問題是您不能只將標題放在模板字符串中。 您需要使用選項 object 指定它們。

request.get({ url: url, headers: headers }, (err, response, body) => { ... });

或者,使用 ES6 簡寫:

request.get({ url, headers }, (err, response, body) => { ... });

暫無
暫無

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

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