perl中调用cgi
参考:
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;
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;
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;
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;
完!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2011-09-23 Linux下集群技术应用概述
2011-09-23 整合apache和tomcat构建Web服务器
2011-09-23 浅谈Linux的内存管理机制
2011-09-23 Linux系统运行级与启动机制剖析