如果我执行shell.exec('http')
,我会获得httpie的帮助,这是我使用的请求库。但是,如果我添加一个参数,如下所示,shelljs永远不会调用回调。
var shell = require('shelljs');
shell.exec('http http://www.example.com/', {async: true, silent: false}, function(data){
console.log(data);
})
如果我使用curl
而不是http
,则上述示例可行。有什么想法不与http
合作?
答案 0 :(得分:2)
添加ignore-stdin
选项
var shell = require('shelljs');
shell.exec('http --ignore-stdin http://www.example.com/', {async: true, silent: false}, function(data){
console.log(data);
});
--ignore-stdin
选项阻止HTTPie从stdin读取数据,这在非交互式调用期间通常是不可取的。
您可以在httpie
的脚本部分阅读更多内容