javascript - 无法在节点 js 中调用外部 api
问题描述
我正在尝试从我的 Node 平台调用外部 API,但没有得到预期的结果。
我尝试使用 npm request 模块并转换我的 postfield 数据查询字符串。我试图设置JSON: true
,但我没有得到结果。
var request = require('request');
var querystring = require('querystring');
// api_call function
api_call_with_data = function(url, form_data) {
return new Promise((resolve, reject) => {
request.post({
uri: url,
headers: {
"content-type": "application/json"
},
body: form_data,
method: 'POST',
json: true
}, (err, res, final_res) => {
if (err) reject(err)
resolve(final_res)
});
})
};
app.get('/call_api', (req, res) => {
var api_url = "http://www.example.com/api/test";
var api_form = {
"first_name": "Stack",
"last_name": "Overflow",
"email_id": "test@example.com"
};
var formData = querystring.stringify(api_form);
api_call_with_data(api_url, formData)
.then(response => {
res.send(response);
})
.catch(error => {
res.send(error)
})
});
我收到错误消息:
{"library":"digital envelope routines","function":"EVP_DecryptFinal_ex","reason":"wrong final block length","code":"ERR_OSSL_EVP_WRONG_FINAL_BLOCK_LENGTH"}
预期结果:
{'status' : 'success', "api_response" : "Thank you to call API"}
解决方案
推荐阅读
- python - 如何使用 Scrapy 浏览基于 js/ajax(href="#") 的分页?
- c++ - 由 cin 的字符串中未捕获的空格导致的分段错误
- python - 将log转成json存入内存
- sql-server - CDC 功能不显示过去一天的信息
- python-3.x - 以功能方式过滤对象python 3
- c# - Autocad 2018 NETLOAD 未显示我的命令方法
- apache - 如何正确设置 HPKP 标头(Public-Key-Pinning Header)?
- java - distanceTo() 整数溢出?
- python - 在 python 中管理 Azure vnic
- google-cloud-functions - Algolia + Firebase 云函数:index.browseObjects 不是函数