Как получить HTTP-заголовки в perl при использовании CGI

Я использую Perl/CGI / Apache и хочу получить заголовок X-Forwarded-For HTTP. Как мне это сделать?

2 ответов


за исключением нескольких заголовков, которые обрабатываются специально, CGI сохраняет значение Header-Name: в переменной окружения HTTP_HEADER_NAME. Итак,X-Forwarded-For (если присутствует в запросе) следует найти в $ENV{HTTP_X_FORWARDED_FOR}.


CGI имеет метод доступа к полям заголовка HTTP-запроса, называемый "http", поэтому вы можете сказать:

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

это работает независимо от того, работаете ли вы как CGI, в fastcgi, mod_perl и т. д...