Подтвердить что ты не робот

Как сделать эту операцию завивки в node.js

То, что я хотел бы сделать, - это операция curl в node.js.

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 -

Предложения приветствуются.

4b9b3361

Ответ 1

Используйте request. запрос является де-факто стандартным способом для HTTP-запросов от node.js. Это тонкая абстракция поверх http.request

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" }
    }
  }
});

Ответ 2

здесь http://query7.com/nodejs-curl-tutorial

Хотя для cURL нет конкретных привязок NodeJS, мы все равно можем выдавать запросы cURL через интерфейс командной строки. NodeJS поставляется с модулем child_process, который легко позволяет нам запускать процессы и читать их выходные данные. Это довольно прямолинейно. Нам просто нужно импортировать метод exec из модуля child_process и вызвать его. Первый параметр - это команда, которую мы хотим выполнить, а вторая - функция обратного вызова, которая принимает ошибку, stdout, stderr.

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);
}

});

EDIT Это также возможное решение: https://github.com/dhruvbird/http-sync