从Node Express服务器执行cgi脚本

时间:2016-08-02 04:43:55

标签: node.js express npm cgi

所以我有一个有会员区的网站。该成员区域通过名为CCBill的支付处理器进行管理。为了让CCBill管理我服务器上的密码文件,他们需要执行cgi脚本。

现在,我已经查看了cgi和serve-cgi npm模块。但我不确定他们是否可以做我需要的事情。任何人都可以帮我这个吗?

我的快速路由器获取功能:

router.get('*', function(req, res, next) {
    console.log('in');
    var mPath = path.join(appRoot, '/cgi-bin' + req.params[0]);
    console.log(mPath);
    const execFile = require('child_process').execFile;
    const child = execFile(mPath, function(error, stdout, stderr) {
        if (error) {
            console.log(error);
            throw error;
        }
        console.log(stdout);
    });
});

1 个答案:

答案 0 :(得分:0)

可以使用exec()函数调用脚本(和其他可执行文件):

var exec = require('exec');
exec('/path/to/your/script',
  function (stderr, stdout, errorCode) {
    // You get here when the executable completes
  }
}

修改

对于较新的node.js版本exec()已弃用,因此最好使用child_process.execFile()

const execFile = require('child_process').execFile;
const child = execFile('/path/to/your/script', [parameters], (error, stdout, stderr) => {
  // You get here when the executable completes
});