使用 CGI 时如何在 Perl 中获取 HTTP 标头
我正在使用 Perl/CGI/Apache 并且想要获取 X-Forwarded-For HTTP 标头。我该怎么做?
I'm using Perl/CGI/Apache and want to fetch the X-Forwarded-For HTTP header. How do I do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
除了少数特殊处理的标头外,CGI 将
Header-Name:
的值存储在环境变量HTTP_HEADER_NAME
中。因此,X-Forwarded-For
(如果存在于请求中)应该可以在$ENV{HTTP_X_FORWARDED_FOR}
中找到。Except for a few headers that are handled specially, CGI stores the value of
Header-Name:
in the environment variableHTTP_HEADER_NAME
. So,X-Forwarded-For
(if present in the request) should be found in$ENV{HTTP_X_FORWARDED_FOR}
.CGI 有一个访问 HTTP 请求头字段的方法,称为“http”,所以你可以说:
无论你是否作为 CGI 运行,在 fastcgi、mod_perl 等中,这都有效......
CGI has a method for accessing HTTP request header fields, called "http", so you can say:
This works regardless whether you're running as a CGI, in fastcgi, mod_perl, etc...