如何在使用CGI时在Perl中获取HTTP标头

问题描述:

我正在使用Perl/CGI/Apache并希望获取X-Forwarded-For HTTP标头。我怎么做?如何在使用CGI时在Perl中获取HTTP标头

除了一些专门处理的头文件外,CGI将Header-Name:的值存储在环境变量HTTP_HEADER_NAME中。因此,X-Forwarded-For(如果在请求中存在)应在$ENV{HTTP_X_FORWARDED_FOR}中找到。

+0

对于接受编码使用`HTTP_ACCEPT_ENCODING` – 2014-05-15 05:58:33

CGI具有访问HTTP请求头字段,名为“HTTP”的方法,这样你就可以说:

my $q = CGI->new() 
print $q->http('X-Forwarded-For'); 

这个工作无论你是作为一个CGI运行,在FastCGI的,的mod_perl,等等...