Perl将GET转换为POST

时间:2014-09-19 13:39:00

标签: html perl web-applications http-post

我构建了一个Web应用程序,它通过URL传递所有表单输入数据。有人可以帮我弄清楚如何使用POST发送数据吗?我开始处理大量数据,而GET会产生URL过长的问题。如果有一种简单的JavaScript方法,我也会感兴趣。

例如,输入表单有一个名为txtName的属性,用户键入了John。在新表单上,我需要它来获取John并使用POST方法将其分配给变量$Name

现在我正在使用GET并选择参数来从URL中获取数据。

你如何在Perl中获得POST以在两个表单上工作?

我在提交数据的表单上将GET更改为POST。在接收数据的表格上我把

use HTTP::Request::Common qw(POST);
use LWP::UserAgent; 

$ua = LWP::UserAgent->new; 

在顶部,然后根据我放

my req = POST 'http://intranet/webservice/enhancements/ManagementEnhancementPerson.pl',
      [ $Person ='person' ];

网页是我从中获取数据的页面,$Person是我想要的变量,而person是原始表单上输入的名称。< / p>

我已经坚持了一段时间。我对Perl和Web开发比较陌生。

以下是我在页面顶部的使用声明接收数据。

use CGI::Carp 'fatalsToBrowser';
use warnings;

use Net::SMTP;
use HTTP::Request::Common qw(POST);
use LWP::UserAgent;

$ua = LWP::UserAgent->new;

1 个答案:

答案 0 :(得分:1)

如果您使用以下内容发出请求(稍微改变了您发布的内容):

my $request = POST 'http://.../ManagementEnhancementPerson.pl', [
   person => $Person,
];

my $response = $ua->request($request);

您可以使用ManagementEnhancementPerson.pl中的以下内容提取值:

use CGI qw( );
my $cgi = CGI->new;
my $Person = $cgi->param('person');

CGI模块通过param提供表单数据,无论表单是使用GET还是POST提交的。