perl中调用cgi
来源:
http://www.cnblogs.com/itech/archive/2012/09/23/2698856.html
参考:
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; 4 6 print $co->header, 5 8 $co->start_html( 6 -title=>'CGI Example', 7 -author=>'yourName', 8 -BGCOLOR=>'white', 9 -LINK=>'red' 10 ); 11 15 if ($co->param()) { 12 print 13 "You entered this text: ", 14 $co->em($co->param('text1')), 15 " ", 16 $co->em($co->param('text2')), 17 "."; 18 } else { 19 print "Sorry, I did not see any text."; 20 } 21 print $co->end_html;