Ven*_*tsu 16
最好的选择是检查GATEWAY_INTERFACE环境变量.它将包含服务器正在使用的CGI协议的版本,这几乎总是如此CGI/1.1.在HTTP_HOST由Tony米勒(或任何提及变量HTTP_*变量)如果客户端提供它仅设定.客户端很少但不是不可能省略未设置的Host标头HTTP_HOST.
#!/usr/bin/perl
use strict;
use warnings;
use constant IS_CGI => exists $ENV{'GATEWAY_INTERFACE'};
Run Code Online (Sandbox Code Playgroud)
如果我希望在某些时候在mod_perl下运行,我也会检查MOD_PERL环境变量,因为它将在首次编译脚本时设置.
#!/usr/bin/perl
use strict;
use warnings;
use constant IS_MOD_PERL => exists $ENV{'MOD_PERL'};
use constant IS_CGI => IS_MOD_PERL || exists $ENV{'GATEWAY_INTERFACE'};
Run Code Online (Sandbox Code Playgroud)
您最好在CGI中检查GI。
use CGI qw( header );
my $is_cgi = defined $ENV{'GATEWAY_INTERFACE'};
print header("text/plain") if $is_cgi;
print "O HAI, ", $is_cgi ? "CGI\n" : "COMMAND LINE\n";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3170 次 |
| 最近记录: |