【问题标题】:Invoke HTTP GET and POST request without pages using Node.js + Express使用 Node.js + Express 在没有页面的情况下调用 HTTP GET 和 POST 请求
【发布时间】:2026-01-18 04:10:01
【问题描述】:

我有一个使用 Expressjs 运行的 Node.js 应用程序。我现在有典型的设置,使用查看玉文件和路由 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>

参数类似于 req.body.from 和 req.body.to。本质上,我希望模拟页面中的信息,而不必使用页面本身。

我是 Node.js 的新手,非常感谢一些帮助。如果我解释的不够充分,请指出,我会尽力。

谢谢

【问题讨论】:

    标签: javascript node.js post express get


    【解决方案1】:

    一个常用的工具是curl

    例如,发出GET 请求:

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

    发出POST 请求:

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

    另一种我更喜欢自己的选择是httpie

    【讨论】:

    • 感谢您的回复。我求助于使用 npm 请求模块,看起来很有希望。
    • @intl 抱歉,也许我误解了 :) 我以为您正在寻找一个独立的脚本,但如果您正在寻找一个模块来执行这些请求,request 肯定是一个很好的: )