文章目錄
參考:
http://www.willmaster.com/library/manage-forms/using_perl_to_submit_a_form.php
http://www.oschina.net/code/snippet_12_854
有時需要在perl中非互動地調用已有的cgi來完成一定的功能,此時需要類比一個http請求來調用cgi。
get方式調用:
1 use HTTP::Request::Common;
2 use LWP::UserAgent;
3 $user_agent = LWP::UserAgent->new;
4 $request = GET 'http://clearcase/~xhzhu/cgi/cgireader.cgi?text1=hello&text2=here';
5 $response = $user_agent->request($request);
6 print $response->as_string;
post方式調用:
1 use HTTP::Request::Common;
2 use LWP::UserAgent;
3 $user_agent = LWP::UserAgent->new;
4 $request = POST 'http://clearcase/~xhzhu/cgi/cgireader.cgi',
5 [text1 => 'Hello', text2 => 'there'];
6 $response = $user_agent->request($request);
7 print $response->as_string;
cgireader.cgi:
1 #!/usr/local/bin/perl
2 use CGI;
3
4 $co = new CGI;
5
6 print $co->header,
7
8 $co->start_html(
9 -title=>'CGI Example',
10 -author=>'yourName',
11 -BGCOLOR=>'white',
12 -LINK=>'red'
13 );
14
15 if ($co->param()) {
16 print
17 "You entered this text: ",
18 $co->em($co->param('text1')),
19 " ",
20 $co->em($co->param('text2')),
21 ".";
22 } else {
23 print "Sorry, I did not see any text.";
24 }
25 print $co->end_html;
完!