Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> переменное окружение catalyst mod_perl 
:(
    Опции темы
gcc
Дата 21.9.2009, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 2
Всего: 17



полдскажите где хранятся переменные окружения в mod_perl в Catalyst?

я использовал в веб сервер встроенном или в CGI
Код

$c->engine->env->{HTTP_X_FORWARDED_FOR}


или вот, только в веб сервер, в CGI нету:
Код

%env


запустил в mod_perl , мне сказал что нету метода env

в гугле что-то нету
http://www.google.com.ua/#hl=uk&q=%D0%...f607cbc1d1ce7ba

Это сообщение отредактировал(а) gcc - 21.9.2009, 18:24
PM WWW ICQ Skype GTalk Jabber   Вверх
gcc
Дата 21.9.2009, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 2
Всего: 17



$ENV{'REMOTE_ADDR'}
Код

Caught exception in MyApp::Controller::Login->login "DBD::mysql::db do failed: Column 'ip' cannot be null at
 /usr/local/www/data/www/MyApp/lib/MyApp/Controller/Login.pm line 107."


$c->engine->env->{HTTP_X_FORWARDED_FOR}
Код

Caught exception in MyApp::Controller::Login->login "Can't locate object method "env" via package 
"Catalyst::Engine::Apache2::MP20" at /usr/local/www/MyApp/lib/MyApp/Controller/Login.pm line 105."


как исправить? 


PM WWW ICQ Skype GTalk Jabber   Вверх
ginnie
Дата 22.9.2009, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

Репутация: 4
Всего: 49



gcc, с Каталистом не работал, поэтому не скажу, как в нем получить $r (поищи сам). Для mod_perl1 можно использовать:

Код

$r->connection->remote_ip;

$r->header_in("X-Forwarded-For");


Это сообщение отредактировал(а) ginnie - 22.9.2009, 11:27


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
gcc
Дата 22.9.2009, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 2
Всего: 17



ginnie, я нашел

$c->request->header(’X-Forwarded-For’) 
 $c->request->address


а почему X-Forwarded-For  называется именно так, а не HTTP_X_FORWARDED_FOR ?

подскажите, как узнать все возможные названия переменных окружениев из $c->request->header ??

Код

use Data::Dumper;
print Dumper($c->request->header);

так не работает, там используется делегирование методов от Moose, ошибку выдает

я вот посмотрел исходники, но там название не увидел
http://cpansearch.perl.org/src/GAAS/libwww...HTTP/Headers.pm

http://cpansearch.perl.org/src/AGRUNDMA/Ca...ngine/Apache.pm

Это сообщение отредактировал(а) gcc - 22.9.2009, 22:22
PM WWW ICQ Skype GTalk Jabber   Вверх
ginnie
Дата 23.9.2009, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

Репутация: 4
Всего: 49



gcc, $c->request->header() возвращает значение указанного заголовка из клиентского запроса. X-Forwarded-For - нестандартный HTTP заголовок. Список стандартных можно посмотреть в википедии.

P.S. HTTP_X_FORWARDED_FOR - это переменная окружения, которую устанавливает web-сервер при обработке запроса. В mod_perl возможно отключение формирования переменных окружения (всех или некоторых).

Это сообщение отредактировал(а) ginnie - 23.9.2009, 11:46


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0487 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.