在Perl中重定向时如何使用POST发送值?

Url*_*ler 1 perl redirect cgi

我有两个值用于名称,另一个用于密码,如果用户输入正确的组合,我想传递给另一个页面.如果用户知道我可以通过在查询字符串中包含值来重定向,如:

$cgi->redirect('http:someotherpage.com?username=$username&password=$password');
Run Code Online (Sandbox Code Playgroud)

但是这是使用GET请求,是否有办法使用POST执行相同的操作,还是有另一种方法在Perl中重定向时传递值?我知道JSP有一个名为RequestDispatcher的方法,如果POST不可用,Perl中会出现类似的东西吗?

编辑:我之前发现了这个链接CGI Application Dispatch,但它有点技术性,所以我不知道这是否适合这项工作.

编辑:我正在使用CGI.pm

Ste*_*ich 5

执行HTTP重定向时,您只能提供新目标的URL.这意味着,无法为POST请求指定任何数据,因为它们位于URL之外.

根据我的理解,JSP中的RequestDispatcher不发送HTTP重定向响应,而是在JSP应用程序内部转发当前请求.这可以与您的CGI脚本只是将当前请求分派到同一服务器上的另一个脚本,而无需通过浏览器进行重定向.详细说明如何执行此操作取决于您使用的框架(例如Dancer,Mojolicious,Catalyst ...或简单的CGI.pm)