How do I make a https post in Node Js without any third party module?
我正在开发一个需要https get和post方法的项目。 我在这里有一个简短的https.get函数...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | const https = require("https"); function get(url, callback) { "use-strict"; https.get(url, function (result) { var dataQueue =""; result.on("data", function (dataBuffer) { dataQueue += dataBuffer; }); result.on("end", function () { callback(dataQueue); }); }); } get("https://example.com/method", function (data) { // do something with data }); |
我的问题是没有https.post,我已经在这里用https模块尝试了http解决方案如何在node.js中发出HTTP POST请求? 但返回控制台错误。
我在浏览器中使用Ajax和Ajax发布到同一个api时没有问题。 我可以使用https.get来发送查询信息,但我认为这不是正确的方法,如果我决定扩展,我认为它不会在以后发送文件。
是否有一个小的例子,有最低要求,使https.request成为https.post,如果有的话? 我不想使用npm模块。
例如,像这样:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | const querystring = require('querystring'); const https = require('https'); var postData = querystring.stringify({ 'msg' : 'Hello World!' }); var options = { hostname: 'posttestserver.com', port: 443, path: '/post.php', method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': postData.length } }; var req = https.request(options, (res) => { console.log('statusCode:', res.statusCode); console.log('headers:', res.headers); res.on('data', (d) => { process.stdout.write(d); }); }); req.on('error', (e) => { console.error(e); }); req.write(postData); req.end(); |