我真的是cgi的新手,正在尝试将Perl cgi脚本转换为Python。我在剧本里看到了这些陈述。
my $q = new CGI; print $q->header(-type=>'text');
字符串通过查看它,我可以理解q是一个标量变量,它拥有调用CGI脚本的表单数据。但是上面的print语句是做什么的呢?是否会检查表单头字典中的类型头值,并根据该值打印True或False?我没有Perl解释器来执行和检查输出。
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。
2sbarzqh2#
引用CGI.pm文档header()返回Content-type:头。如果您愿意,可以提供自己的MIME类型,否则默认为text/html。可选的第二个参数指定状态代码和可读消息。例如,您可以指定204“无响应”来创建一个脚本,告诉浏览器什么也不做。请注意,RFC 2616期望人类可读的阶段以及数字状态代码。
header()
Content-type:
text/html
print $cgi->header( -Content_length => 3002 );
字符串
6yjfywim3#
“它有什么用?“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或其他东西。它还将打印状态,即200,表示OK。你的程序应该在没有它的情况下工作,但是添加它也没有坏处。你试图将其移植到Python,我不知道Python有什么选项来编写它,但你可能不需要它。只要用换行符(\n)分隔你想放入的任何头项,比如expires标签,然后再添加一个换行符来分隔头和正文。
my $q = new CGI
print $q->header(-type=>'text')
-type=>'text'
text/plain
text/csv
application/json
image/jpeg
\n
ycggw6v24#
正如之前的海报所说:header()返回Content-type: header。如果您愿意,可以提供自己的MIME类型,否则默认为text/html。* 可选的第二个参数 * 指定状态代码和可读消息。例如,您可以指定204,“No response” 来创建一个脚本,告诉浏览器什么都不做。另请参阅:https://metacpan.org/pod/CGI请注意,RFC 2616期望 * 人类可读的阶段以及数字状态代码 *。
Content-type: header
MIME
204
RFC 2616
4条答案
按热度按时间kokeuurv1#
开始输出
我们使用CGI对象打印输出的HTTP头:
字符串
这将为您提供以下HTTP报头:
型
如果你需要在header中有任何额外的选项,例如你可能不想要默认的'type',你可以把它们传递给header方法:
型
这将为您提供以下HTTP标头:
型
更多信息请访问here。
2sbarzqh2#
引用CGI.pm文档
header()
返回Content-type:
头。如果您愿意,可以提供自己的MIME类型,否则默认为text/html
。可选的第二个参数指定状态代码和可读消息。例如,您可以指定204“无响应”来创建一个脚本,告诉浏览器什么也不做。请注意,RFC 2616期望人类可读的阶段以及数字状态代码。字符串
6yjfywim3#
“它有什么用?“
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
或其他东西。它还将打印状态,即200,表示OK。你的程序应该在没有它的情况下工作,但是添加它也没有坏处。
你试图将其移植到Python,我不知道Python有什么选项来编写它,但你可能不需要它。只要用换行符(
\n
)分隔你想放入的任何头项,比如expires标签,然后再添加一个换行符来分隔头和正文。ycggw6v24#
正如之前的海报所说:
header()
返回Content-type: header
。如果您愿意,可以提供自己的MIME
类型,否则默认为text/html
。* 可选的第二个参数 * 指定状态代码和可读消息。例如,您可以指定
204
,“No response” 来创建一个脚本,告诉浏览器什么都不做。另请参阅:https://metacpan.org/pod/CGI
请注意,
RFC 2616
期望 * 人类可读的阶段以及数字状态代码 *。