加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl – 如何确定脚本是从命令行调用还是作为cgi脚本调用?

发布时间:2020-12-15 21:32:54 所属栏目:大数据 来源:网络整理
导读:我有一个我写的脚本,可以在命令行上使用,也可以作为CGI脚本使用,需要确定脚本的调用方式,这样我就可以为web请求输出内容类型的头文件(也许还有一些反缓存标题也是).我的第一个想法是检查http环境变量是否存在: my $js = build_javascript();if ( exists $EN
我有一个我写的脚本,可以在命令行上使用,也可以作为CGI脚本使用,需要确定脚本的调用方式,这样我就可以为web请求输出内容类型的头文件(也许还有一些反缓存标题也是).我的第一个想法是检查http环境变量是否存在:
my $js = build_javascript();

if ( exists $ENV{HTTP_HOST} ) {
   print "Content-type: text/javascriptnn";
}
print $js;

有没有更好的办法?

解决方法

根据 RFC3875中的CGI规范(第4.1.4节),GATEWAY_INTERFACE环境变量将是检查您是否在CGI上下文中运行的权威事项:

4.1.4. GATEWAY_INTERFACE

The GATEWAY_INTERFACE variable MUST be set to the dialect of CGI being used by the server to communicate with the script.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读