Forum Webscript.Ru
Программирование => 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, но везде пишется как посылать заголовок броузеру, а не как принимать и обрабатывать.
Помогите плиз.
-
Sergg:
броузер передал скрипту
Неверно. броузер передал серверу.
-
Наверно, не суть, суть в том что мне это надо получить как-то.
Находил на php через
$HTTP_SERVER_VARS["HTTP_X_WAP_PROFILE"];
но дело в том что на одних телефонах нужное мне называется HTTP_X_WAP_PROFILE, на других вообще не известно как. Поэтому и надо сначала сохранять куда-то все эти ответы чтобы потом понять что выцеплять.
-
Sergg:
Наверно, не суть
Ошибаешся. Смотри логи сервера, там все есть(если логи правильно настроены).
-
Логи сервера я знаю как выглядят, и там нет того что мне нужно. Тем более получать ответ от броузера мне надо в скрипте, а не смотреть их в логах.
Тем более тот пример заголовка что я привел я совниваюсь что получу в логах, тем более я привел только где-то 1/3 всего заголовка.
Мне нужен конкретный ответ, а не ответы правильно ли я сформулировал вопрос или нет (тем более когда Вы поняли что я имел в вопросе).
-
Дело именно в том что вы неверно представляете себе природу этого механизма, остюда и неправильно поставленный вопрос, и соответственно у вас неполучится принимать заголовки скриптом, так как эти заголовки получает сервер, обрабатывает и только затем некоторые данные поступают в ваш скрипт. Поэтому такой заголовок вы никак прочитать не сможете на стороне сервера (разве что из логов). Сервер передает скрипту данные (некоторые) из заголовка в хэше %ENV, оттуда вы можете попробовать что-то прочитать. Для теста попробуйте в своем скрипте конструкцию типа:
print "Content-Type: text/html\\n\\n";
foreach (keys %ENV) { print "$_ $ENV{$_}\\n"; }
И посмотрите что получает скрипт от сервера в результате вашего запроса.
-
Спасибо. Это почти то что нужно, по крайней мере реальные сотики передают скрипту все что нужно для работы правда одни в одном виде другие в другом.
-
mod_perl рулит:)