使用Node.js+Express在没有页面的情况下调用HTTPGET和POST请求

Invoke HTTP GET and POST request without pages using Node.js + Express

本文关键字:调用 情况下 HTTPGET 请求 POST js+Express Node 使用      更新时间:2023-09-26

我有一个使用Expressjs运行的Node.js应用程序。我现在有一个典型的设置,使用view jade文件和route js文件来处理GET和POST请求。示例如下:

router.post('/postaction', function(req, res) {
    // elements from the actual jade view itself
    var one = req.body.from;
    var two = req.body.to;
    // do something
});
router.get('/getaction', function(req, res) {
    // elements from the actual jade view itself
    var one = req.body.from;
    var two = req.body.to;
    // do something
});

这是有效的,我可以执行GET和POST请求。例如,一个按钮可能会调用POST操作。我的问题是,如何使用一个单独的脚本或npm模块来调用相同的GET和POST请求,而不必通过视图来执行?理想情况下,我会有这样的东西:

somescript-get <param1>
somescript-post <param1> <param2>

params类似于req.body.from和req.body.to。本质上,我希望在不使用页面本身的情况下模拟页面中的信息。

我是Node.js的新手,非常感谢您的帮助。请指出,如果我没有解释足够的东西,我会尽力解释的。

感谢

一个常用的工具是curl

例如,要发出GET请求:

$ curl 'http://your.url/getaction?from=FOO&to=BAR'

提出POST请求:

$ curl -XPOST http://your.url/postaction -d 'from=FOO&to=BAR'

另一种选择,我更喜欢httpie