Как получить заголовки HTTP в Perl при использовании CGI - PullRequest
7 голосов
/ 09 февраля 2011

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

Ответы [ 2 ]

16 голосов
/ 09 февраля 2011

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

5 голосов
/ 07 марта 2012

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

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

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

...