[英]What does the header(-type=>'text') print in cgi in Perl
我真的是cgi的新手,正在尝试将Perl cgi脚本转换为Python。
我在脚本中遇到了这些语句。
my $q = new CGI;
print $q->header(-type=>'text');
通过查看它,我可以理解q是一个标量变量,它具有从中调用CGI脚本的表单数据。
但是上面的打印语句有什么作用?
是否会检查表单标题字典中类型标题的值,并基于此显示True或False?
我没有Perl解释器来执行和检查输出。
开始输出
我们使用CGI对象打印输出的HTTP标头:
print $q->header;
这为您提供了以下HTTP标头:
Content-Type: text/html; charset=ISO-8859-1
如果您需要在标头中包含任何其他选项,例如,您可能不希望使用默认的“类型”,则可以将其传递给标头方法:
print $q->header(-type => "text/plain");
这为您提供了以下HTTP标头:
Content-Type: text/plain; charset=ISO-8859-1
有关更多信息,请访问此处 。
引用CGI.pm文档
header()
返回Content-type:
标头。 您可以选择提供自己的MIME类型,否则默认为text/html
。 可选的第二个参数指定状态代码和人类可读的消息。 例如,您可以指定204,“无响应”来创建一个脚本,该脚本告诉浏览器什么也不做。 请注意,RFC 2616期望在那里存在人类可读的阶段以及数字状态代码。print $cgi->header( -Content_length => 3002 );
“它有什么作用?”
my $q = new CGI
创建了一个新的https://metacpan.org/pod/CGI对象,它可以为您做很多事情。 最好的东西是参数,路径信息和标题。
print $q->header(-type=>'text')
打印标题,它告诉浏览器正在生成什么。 -type=>'text'
不够; 它应该是完整的MIME类型,例如text/plain
, text/html
, text/csv
, application/json
或许多其他类型。 您甚至可以生成图像并输入image/jpeg
或其他类型。
它还将为OK打印状态,即200 。 没有它,您的程序应该可以工作,但是添加它不会有任何危害。
您正在尝试将其移植到Python,但我不知道Python必须编写哪些选项,但是您可能不需要它。 只需用换行符( \\n
)分隔要输入的标题条目(例如expires标记),然后添加另一个将标题与正文分隔开即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.