Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在node.js中执行此curl操作_Javascript_Node.js_Asynchronous - Fatal编程技术网

Javascript 如何在node.js中执行此curl操作

Javascript 如何在node.js中执行此curl操作,javascript,node.js,asynchronous,Javascript,Node.js,Asynchronous,我想做的是node.js中的这个curl操作 curl -XPOST localhost:12060/repository/schema/fieldType -H 'Content-Type: application/json' -d ' { action: "create", fieldType: { name: "n$name", valueType: { primitive: "STRING" }, scope: "versioned", names

我想做的是
node.js
中的这个curl操作

curl -XPOST localhost:12060/repository/schema/fieldType -H 'Content-Type: application/json' -d '
{
  action: "create",
  fieldType: {
    name: "n$name",
    valueType: { primitive: "STRING" },
    scope: "versioned",
    namespaces: { "my.demo": "n" }
  }
}' -D -
欢迎提出建议。

通过此处

尽管cURL没有特定的NodeJS绑定,但我们仍然可以通过命令行界面发出cURL请求。NodeJS带有child_进程模块,它允许我们轻松启动进程并读取其输出。这样做相当直截了当。我们只需要从子进程模块导入exec方法并调用它。第一个参数是我们要执行的命令,第二个参数是接受error、stdout、stderr的回调函数

编辑这也是一种可能的解决方案:

使用。request是从node.js发出HTTP请求的事实上的标准方式。这是一个简单的抽象概念


看看

当您可以直接使用http.request或node.js时,为什么要从命令行使用curl这只是另一个选项。他要求使用curl,所以我给了他curl:)curl比http.request有更多的选择(包括代理支持)。在一些代理配置中,当curl顺利工作时,试图让node正确协商代理是令人恼火的。对于那些有特殊需求的人来说,这是一个不错的解决方法。如果您想处理curl返回的结果,请参阅下面的答案,将侦听器附加到子进程。
var util = require('util');
var exec = require('child_process').exec;

var command = 'curl -sL -w "%{http_code} %{time_total}\\n" "http://query7.com" -o /dev/null'

child = exec(command, function(error, stdout, stderr){

console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);

if(error !== null)
{
    console.log('exec error: ' + error);
}

});
request({
  uri: "localhost:12060/repository/schema/fieldType",
  method: "POST",
  json: {
    action: "create",
    fieldType: {
      name: "n$name",
      valueType: { primitive: "STRING" },
      scope: "versioned",
      namespaces: { "my.demo": "n" }
    }
  }
});