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;

 

posted @ 2016-08-04 11:20  醉游  阅读(543)  评论(0编辑  收藏  举报