Javascript Node.js http post请求中的curl-d等效项
我知道这个命令Javascript Node.js http post请求中的curl-d等效项,javascript,node.js,post,curl,Javascript,Node.js,Post,Curl,我知道这个命令 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',
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
我该怎么做
这是因为我想向a发送一个POST请求,但我无法完成该请求
编辑正如@mscdex所说,解决方案是与请求库一起使用的:
我已经解决了请求库的问题。我的解决方案代码是
var request = require('request');
request.post('http://localhost:8080/api', {
form: {
nombre: 'orlando'
}
}, function(err, res) {
console.log(err, res);
});
谢谢大家! 您可以手动对其进行编码:
var post_data = 'name=Myname&email=myemail@gmail.com';
或者你可以使用一个模块来处理它(如果你必须上传文件,它会变得特别好),因为它可以为你处理数据转义和其他事情。你说得对。我已经解决了请求库的问题。我的解决方案代码是var request=require('request');request.post(“”,{form:{nombre:'orlando'}},函数(err,res){console.log(err,res);});非常感谢。