После прочтения нескольких интернет-сообщений, связанных с "JSON POST commands" в NodeJS, я полностью растерялся! Попробовали создать простой скрипт для отправки данных на интерфейс Restful API устройства с использованием https. Без везения ...
JSON string needs to contain: a Header incl. (Basic)Auth Token & Body content something similar like: '{"address":address,"address6":"","comment":"","duids":[],"hostnames":[],"interface":""};
Надеюсь, что у кого-то есть хороший пример или он снова укажет мне правильное направление.

Вы можете использовать встроенный модуль https для вызова REST API, подпись запроса выглядит следующим образом:
https.request (URL [, параметры] [, обратный вызов])
В вашем случае вы можете попробовать следующий код:
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.info('statusCode:', res.statusCode);
console.info('headers:', res.headers);
res.on('data', (d) => {
process.stdout.write(d);
});
});
У меня была точно такая же проблема всего несколько дней назад, и в итоге я создал крошечный модуль под названием 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 и других сервисов.
Я всегда использую библиотеку request, когда мне нужно выполнить HTTP-запрос в nodejs.
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(), ссылка здесь
Можете поделиться тем, что пробовали? Если это не сработает, кто-нибудь может указать на то, что вы сделали не так.