在Node.js http post请求中curl -d等效

 雷神鑫源义_341 发布于 2023-01-15 12:15

我知道那个命令

curl -X POST -d 'some data to send' http://somehost.com/api 

可以使用一些代码在Node.js中进行模拟

var http = require('http');
var post_data = 'some data to send',
    headers = {
        host: 'somehost.com',
        port: 80,
        method: 'POST',
        path: '/api',
        headers: {
            'Content-Length': Buffer.byteLength(post_data)
        }
    };

var request = http.request(headers, function(response) {
    response.on('data', function(d) {
        console.log(d);
    });
});
request.on('error', function(err) {
    console.log("An error ocurred!");
});
request.write(post_data));

request.end();

问题是因为我正在寻找cURL命令的等效节点

curl -d name="Myname" -d email="myemail@gmail.com" -X POST http://somehost.com/api

我怎样才能做到这一点?

这是因为我想对像这样的Cherrypy服务器发出POST请求,但我无法完成请求.

编辑正如@mscdex所说,解决方案与请求库有关:

我已经解决了请求库的问题.我的解决方案代码是

var request = require('request');

request.post('http://localhost:8080/api', {
  form: {
    nombre: 'orlando'
  }
}, function(err, res) {
  console.log(err, res);
});

谢谢!

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有