Perl中的cgi中的header(-type=>'text')打印什么

ix0qys7i  于 2023-08-06  发布在  Perl
关注(0)|答案(4)|浏览(147)

我真的是cgi的新手,正在尝试将Perl cgi脚本转换为Python。
我在剧本里看到了这些陈述。

my $q = new CGI;
print $q->header(-type=>'text');

字符串
通过查看它,我可以理解q是一个标量变量,它拥有调用CGI脚本的表单数据。
但是上面的print语句是做什么的呢?
是否会检查表单头字典中的类型头值,并根据该值打印True或False?
我没有Perl解释器来执行和检查输出。

kokeuurv

kokeuurv1#

开始输出

我们使用CGI对象打印输出的HTTP头:

print $q->header;

字符串
这将为您提供以下HTTP报头:

Content-Type: text/html; charset=ISO-8859-1


如果你需要在header中有任何额外的选项,例如你可能不想要默认的'type',你可以把它们传递给header方法:

print $q->header(-type => "text/plain");


这将为您提供以下HTTP标头:

Content-Type: text/plain; charset=ISO-8859-1


更多信息请访问here

2sbarzqh

2sbarzqh2#

引用CGI.pm文档
header()返回Content-type:头。如果您愿意,可以提供自己的MIME类型,否则默认为text/html。可选的第二个参数指定状态代码和可读消息。例如,您可以指定204“无响应”来创建一个脚本,告诉浏览器什么也不做。请注意,RFC 2616期望人类可读的阶段以及数字状态代码。

print $cgi->header( -Content_length => 3002 );

字符串

6yjfywim

6yjfywim3#

“它有什么用?“
my $q = new CGI创建一个新的https://metacpan.org/pod/CGI对象,它可以为您做很多事情。最好的东西是参数,路径信息和标题。
print $q->header(-type=>'text')打印头,告诉浏览器正在生成什么。-type=>'text'不足;它 * 应该 * 是一个完整MIME类型,例如text/plaintext/htmltext/csvapplication/json或更多其他类型。您甚至可以生成一个图像,并使类型image/jpeg或其他东西。
它还将打印状态,即200,表示OK。你的程序应该在没有它的情况下工作,但是添加它也没有坏处。
你试图将其移植到Python,我不知道Python有什么选项来编写它,但你可能不需要它。只要用换行符(\n)分隔你想放入的任何头项,比如expires标签,然后再添加一个换行符来分隔头和正文。

ycggw6v2

ycggw6v24#

正如之前的海报所说:
header()返回Content-type: header。如果您愿意,可以提供自己的MIME类型,否则默认为text/html。* 可选的第二个参数 * 指定状态代码和可读消息。
例如,您可以指定204“No response” 来创建一个脚本,告诉浏览器什么都不做。
另请参阅:https://metacpan.org/pod/CGI
请注意,RFC 2616期望 * 人类可读的阶段以及数字状态代码 *。

相关问题