javascript - 使用 NodeJS curl

标签 javascript node.js curl

我正在使用以下代码通过 Curl 和 Node.JS 执行 rest API。它在我的本地机器上工作。

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

    function runCmd(cmd)
    {
        var resp = child_process.execSync(cmd);
        var result = resp.toString('UTF8');
        return result;
    }

    var cmd = "curl -u userx:passx -X POST --data @test.json -H 'Content-Type: application/json' https://mysite.atlassian.net/rest/api/2/issue/";
    var result = runCmd(cmd);
...
...

但是上传到服务器后,出现以下错误

/home/ubuntu/PMPBuild/jiraIssue.js:76
                var resp = child_process.execSync(cmd);
                                         ^
TypeError: Object function (command /*, options, callback */) {
  var file, args, options, callback;

最佳答案

您的服务器不支持 CURL。如果使用请求库会更好https://github.com/request/request

var request = require('request');
var jsonData;

fs = require('fs')
fs.readFile('test.json', 'utf8', function (err,data) {
  if (err) {
    return console.log(err);
  }
  jsonData = JSON.parse(data);
});

request({
    url: 'https://mysite.atlassian.net/rest/api/2/issue/',
    'auth': {
     'user': 'userx',
     'pass': 'passx',
     'sendImmediately': false
    },
    qs: jsonData,
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    }
}, function(error, response, body){
    if(error) {
        console.log(error);
    } else {
        console.log(response.statusCode, body);
    }
});

关于javascript - 使用 NodeJS curl ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40211982/

相关文章:

javascript - JQuery - 点击/链接处理程序出现问题

javascript - 获取表格行输入框的所有值

javascript - Angularjs ng-repeat,按键值数组

node.js - 如何将多个键映射到 yargs .alias 中的别名

javascript - 套接字.io : How to emit an Array and a Variable simultaneously

php - PHP 如何从 Web 服务中获取内容?

linux - https ( SSL ) 的 curl 命令

javascript - 后退按钮需要重定向到上次访问的页面

javascript - 如果错误是可重试的,则重试异步函数

curl 不会下载空文件