Forum Webscript.Ru

Программирование => Perl => Тема начата: Sergg от 19 Мая 2005, 19:28:57

Название: Как получить заголовок ответа броузера на perl
Отправлено: Sergg от 19 Мая 2005, 19:28:57
Вообщем нужно чтобы при заходе на скрипт броузер (в моем случае wap-броузер телефона) передал скрипту заголовок (header). Как прочитать такой заголовок на perl (или на крайний случай на php).

Т.е допустим посетитель с помощью броузера телефона зашел на страницу скрипта, и броузер передал скрипту заголовок типа:

POST / HTTP/1.1
Host: 82.147.179.201:2000
X-Wap-Profile: "http://nds.nokia.com/uaprof/N3510ir100.xml", "1-4csgll//4OzaR6U7yLPStg==", "2-XnrTOLDzBJdZHN2vSasoNA==", "3-Z+lJzsFTo4qT8wYH1WfzIQ==", "4-HC5l5j+eQ9tPRpdhsseJIQ=="
Content-Type: application/x-www-form-urlencoded
User-Agent: Profile/MIDP-1.0 Configuration/CLDC-1.0
Accept: */*
Accept-Language: en
Accept-Charset: *
и т.п

Как его прочесть в скрипте и сохранить.

Искал нужные функуции на perl, но везде пишется как посылать заголовок броузеру, а не как принимать и обрабатывать.

Помогите плиз.
Название: Как получить заголовок ответа броузера на perl
Отправлено: NeoNox от 19 Мая 2005, 19:44:26
Цитировать
Sergg:
броузер передал скрипту

Неверно. броузер передал серверу.
Название: Как получить заголовок ответа броузера на perl
Отправлено: Sergg от 19 Мая 2005, 19:56:39
Наверно, не суть, суть в том что мне это надо получить как-то.

Находил на php через
$HTTP_SERVER_VARS["HTTP_X_WAP_PROFILE"];

но дело в том что на одних телефонах нужное мне называется HTTP_X_WAP_PROFILE, на других вообще не известно как. Поэтому и надо сначала сохранять куда-то все эти ответы чтобы потом понять что выцеплять.
Название: Как получить заголовок ответа броузера на perl
Отправлено: NeoNox от 19 Мая 2005, 22:48:33
Цитировать
Sergg:
Наверно, не суть

Ошибаешся. Смотри логи сервера, там все есть(если логи правильно настроены).
Название: Как получить заголовок ответа броузера на perl
Отправлено: Sergg от 19 Мая 2005, 23:06:18
Логи сервера я знаю как выглядят, и там нет того что мне нужно. Тем более получать ответ от броузера мне надо в скрипте, а не смотреть их в логах.

Тем более тот пример заголовка что я привел я совниваюсь что получу в логах, тем более я привел только где-то 1/3 всего заголовка.

Мне нужен конкретный ответ,  а не ответы правильно ли я сформулировал вопрос или нет (тем более когда Вы поняли что я имел в вопросе).
Название: Как получить заголовок ответа броузера на perl
Отправлено: cr4ck3r от 20 Мая 2005, 09:33:15
Дело именно в том что вы неверно представляете себе природу этого механизма, остюда и неправильно поставленный вопрос, и соответственно у вас неполучится принимать заголовки скриптом, так как эти заголовки получает сервер, обрабатывает и только затем некоторые данные поступают в ваш скрипт. Поэтому такой заголовок вы никак прочитать не сможете на стороне сервера (разве что из логов). Сервер передает скрипту данные (некоторые) из заголовка в хэше %ENV, оттуда вы можете попробовать что-то прочитать. Для теста попробуйте в своем скрипте конструкцию типа:

print "Content-Type: text/html\\n\\n";
foreach (keys %ENV) { print "$_ $ENV{$_}\\n"; }

И посмотрите что получает скрипт от сервера в результате вашего запроса.
Название: Как получить заголовок ответа броузера на perl
Отправлено: Sergg от 20 Мая 2005, 10:16:00
Спасибо. Это почти то что нужно, по крайней мере реальные сотики передают скрипту все что нужно для работы правда одни в одном виде другие в другом.
Название: Как получить заголовок ответа броузера на perl
Отправлено: glebushka от 20 Мая 2005, 15:06:54
mod_perl рулит:)