我正在使用以下代码通过 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/