在NodeJS中阅读了与“ JSON POST commands
”相关的多个Internet帖子之后,我现在完全迷路了!尝试创建一个简单的脚本以使用https将数据发送到设备的Restful API接口。没有运气...
JSON字符串需要包含:标头。 (基本)身份验证令牌和正文 内容类似: '{“ address”:address,“ address6”:“”,“ comment”:“”,“ duids”:[],“ hostnames”:[],“ interface”:“”};
希望有人可以提供一个很好的例子,或者可以再次将我引向正确的方向。
答案 0 :(得分:1)
您可以使用内置模块https进行REST API调用,请求签名如下:
https.request(URL [,options] [,回调])
根据您的情况,您可以尝试以下代码:
var options = {
host: 'host-name',
port: 443,
path: 'api-path',
method: 'POST',
// authentication headers
headers: {
'Authorization': 'Basic ' + new Buffer(username + ':' + passw).toString('base64')
}
};
const req = https.request(options, (res) => {
console.log('statusCode:', res.statusCode);
console.log('headers:', res.headers);
res.on('data', (d) => {
process.stdout.write(d);
});
});
答案 1 :(得分:1)
几天前,我遇到了完全相同的问题,最后我创建了一个名为json-post的超小型模块。
const jsonPOST = require('json-post');
// or import jsonPOST from 'json-post'
jsonPOST(
'https://whatever:5000/seriously',
// your JSON data as object
{hello: 'world'},
// optionally any extra needed header
{'Authorization': 'Basic ' +
new Buffer(username + ':' + passw).toString('base64')}
).then(
console.info,
console.error
);
该舞蹈与上一个回复中显示的舞蹈相似,但以多种方式进行了简化。它也适用于GitHub OAuth和其他服务。
答案 2 :(得分:0)
每当需要在nodejs中进行HTTP请求时,我总是使用request
库。
var request = require('request');
request({
method: 'POST',
uri: 'http://myuri.com',
headers: {
'Content-Type' : 'application/json',
'AnotherHeader' : 'anotherValue'
},
json: myjsonobj
}, (err, response, body) => {
// handler here
})
还有其他发出请求的方式,例如request.post()
引用here