javascript - 如何使用 curl 与 exec nodejs

标签 javascript node.js curl

我尝试在 Node js 中执行以下操作

var command = " -d '{'title': 'Test' }' -H 'Content-Type: application/json' http://125.196.19.210:3030/widgets/test";  

    exec(['curl', command], function(err, out, code) {
        if (err instanceof Error)
        throw err;
        process.stderr.write(err);
        process.stdout.write(out);
        process.exit(code);
    });

当我在命令行中执行以下操作时它可以工作。:
curl -d '{ "title": "Test"}' -H "Content-Type: application/json"http://125.196.19.210:3030/widgets/test

但是当我在 nodejs 中这样做时,它告诉我

curl: no URL specified!
curl: try 'curl --help' or 'curl --manual' for more information
child process exited with code 2

最佳答案

exec 命令的 options 参数不包含您的 argv。

您可以将参数直接放在 child_process.exec 函数中:

    var exec = require('child_process').exec;

    var args = " -d '{'title': 'Test' }' -H 'Content-Type: application/json' http://125.196.19.210:3030/widgets/test";

    exec('curl ' + args, function (error, stdout, stderr) {
      console.log('stdout: ' + stdout);
      console.log('stderr: ' + stderr);
      if (error !== null) {
        console.log('exec error: ' + error);
      }
    });

如果你想使用 argv 参数,

你可以使用child_process.execFile函数:

var execFile = require('child_process').execFile;

var args = ["-d '{'title': 'Test' }'", "-H 'Content-Type: application/json'", "http://125.196.19.210:3030/widgets/test"];

execFile('curl.exe', args, {},
  function (error, stdout, stderr) {
    console.log('stdout: ' + stdout);
    console.log('stderr: ' + stderr);
    if (error !== null) {
      console.log('exec error: ' + error);
    }
});

关于javascript - 如何使用 curl 与 exec nodejs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27189849/

相关文章:

javascript - 多次应用一种方法,有更好的方法吗?

javascript - sumoselect 多个下拉列表在页面加载时闪烁

javascript - 谷歌地图:How to get points along the route in google maps,服务器端?

javascript - 如何使用 async.js 异步运行这 3 个 node.js 函数?

git - 通过curl添加SSH key : Fingerprint cannot be generated

javascript - 我怎样才能正确发出这个http请求?

C++ Curl 后动态变量

javascript - Redux 表单不允许编辑初始化表单状态值

javascript - 将 Prop 传递给普通 child

javascript - 为什么 `exports`在nodejs模块中引用与 `this`相同的对象?