Perl 教程 之 Perl CGI编程 11

简介: Perl CGI教程介绍了如何通过CGI程序接收HTML表单(Textarea)中的多行数据。test.html是一个包含Textarea的表单,提交后调用test.cgi脚本。test.cgi读取POST请求的数据,解析name/value对,获取textarea内容并显示在HTML响应中。在浏览器中,用户输入的内容会以标题形式展示。

Perl 教程 之 Perl CGI编程 11

Perl CGI编程

什么是CGI

CGI 目前由NCSA维护,NCSA定义CGI如下:

CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户端HTML页面的接口。

通过CGI程序传递 Textarea 数据

Textarea 向服务器传递多行数据,test.html 代码如下:

test.html 代码
<!DOCTYPE html>


<br>在这里输入内容...<br>





test.cgi 脚本代码如下:

test.cgi 代码

!/usr/bin/perl

local ($buffer, @pairs, $pair, $name, $value, %FORM);

读取信息

$ENV{'REQUEST_METHOD'} =~ tr/a-z/A-Z/;
if ($ENV{'REQUEST_METHOD'} eq "POST")
{
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}else {
$buffer = $ENV{'QUERY_STRING'};
}

读取 name/value 对信息

@pairs = split(/&/, $buffer);
foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%(..)/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}
$text_content = $FORM{textcontent};

print "Content-type:text/html\r\n\r\n";
print "

";
print "";
print '';
print '';
print "";
print "";
print "

输入的文本内容为:$text_content

";
print "";
print "";

1;
浏览器中,执行效果

目录
相关文章
|
27天前
|
存储 移动开发 Perl
Perl 教程 之 Perl CGI编程 12
Perl CGI教程介绍如何通过CGI程序处理HTML表单数据。当用户从一个包含下拉选项(如百度和Google)的HTML表单提交选择后,CGI脚本`test.cgi`读取并解析POST请求中的数据。脚本将选定的值(如&quot;百度&quot;或&quot;Google&quot;)存储在变量 `$site` 中,并生成一个显示所选网站的简单HTML响应。
25 5
|
27天前
|
移动开发 Perl
Perl 教程 之 Perl CGI编程 11
Perl CGI教程讲解如何通过CGI程序处理HTML表单数据。CGI是NCSA维护的通用网关接口,用于连接服务器和客户端。示例中,`test.html`包含一个Textare
19 3
|
29天前
|
机器学习/深度学习 移动开发 Go
Perl 教程 之 Perl CGI编程 5
Perl CGI教程讲解如何通过Perl实现文件下载。设置HTTP Header为&quot;Content-Type:application/octet-stream; name=\&quot;FileName\&quot;和&quot;Content-Disposition: attachment; filename=\&quot;FileName\&quot;,然后打开文件并逐块读取内容输出,实现文件下载功能。
10 1
|
22天前
|
Shell Linux Perl
Perl 教程 之 Perl 进程管理 5
Perl教程介绍了进程管理,包括使用$$或$PROCESS_ID获取PID,通过%ENV访问环境变量,exit()退出子进程。子进程继承打开的句柄,不受父进程影响。Perl的kill函数用于向进程发送信号,如SIGINT(值2)用于中断。示例展示了如何向进程104和102发送SIGINT信号。
14 0
|
26天前
|
存储 数据安全/隐私保护 Perl
Perl 教程 之 Perl CGI编程 14
Perl CGI教程介绍了CGI(Common Gateway Interface)的概念,它是一种让服务器与客户端HTML交互的程序接口。CGI弥补了HTTP协议不识别用户身份的缺陷。Cookie用于身份验证,当用户访问脚本时,信息存储在环境变量HTTP_COOKIE中。示例代码展示了如何从HTTP_COOKIE检索Cookie信息,包括UserID和Password,输出用户ID和密码。
24 2
|
26天前
|
移动开发 网络安全 Perl
Perl 教程 之 Perl CGI编程 13
Perl CGI教程介绍了CGI(Common Gateway Interface)作为服务器与客户端交互的接口,并讲解了如何使用Cookie来弥补HTTP协议中用户身份验证的不足。Cookie通过设置HTTP头部的Set-Cookie字段,包括name、expires、path、domain和secure属性来实现。在Perl中设置Cookie涉及打印包含这些字段的响应头。示例代码展示了如何设置UserID、Password以及过期时间等Cookie信息。
14 2
|
27天前
|
移动开发 Perl
Perl 教程 之 Perl CGI编程 10
Perl CGI教程展示了如何通过CGI程序与HTML表单交互。当用户在HTML页面(test.html)中选择百度或Google并提交后,数据发送到CGI脚本(test.cgi)。脚本解析请求,获取选中的站点($site),然后生成返回的HTML响应,显示用户选择的网站。
20 5
|
27天前
|
移动开发 数据安全/隐私保护 Perl
Perl 教程 之 Perl CGI编程 8
Perl CGI编程教程讲解了如何通过CGI接口与HTTP服务器交互。文章介绍了CGI的概念,强调使用POST方法传递敏感数据的安全性。示例脚本`test.cgi`演示了处理POST表单数据的方法,读取并显示输入的站点名称和URL。同时,给出了一个HTML表单`test.html`,用于通过POST方法向`test.cgi`提交数据。
12 2
|
27天前
|
Perl
Perl 教程 之 Perl CGI编程 7
Perl CGI编程教程讲解了CGI的概念,它是NCSA维护的通用网关接口,用于连接服务器和客户端HTML。示例展示了一个简单的GET方法HTML表单,通过&lt;form&gt;标签提交数据到test.cgi,包含站点名称和URL字段。用户提交后,数据将以URL参数形式传递给服务器。
11 1
|
27天前
|
移动开发 Perl
Perl 教程 之 Perl CGI编程 9
Perl CGI教程讲解了如何通过CGI程序处理HTML表单中的checkbox数据。在示例中,HTML表单包含两个checkbox(百度和Google),提交后,CGI脚本`test.cgi`读取并解析POST数据,判断每个选项是否被选中,并生成相应HTML响应显示选中状态。
13 1