Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Perl-скрипт, считывающий и применяющий значение куки.

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
theUg



Зарегистрирован: 27.11.2002
Сообщения: 2

СообщениеДобавлено: Ср Ноя 27 2002 16:33    Заголовок сообщения: Perl-скрипт, считывающий и применяющий значение куки. Ответить с цитатой

Есть тут у меня скрипт перловый, который должен считывать куку и использовать её значение для вывода соответствуюего куска кода. Для облегчения задачи, значение куки равно изменяемой части имени файла вставляемого куска.

Так вот. Скрипт, в целом, работает, но куку читать не может и выдаёт только значение по умолчанию. Что делать?

Сырец:

#!/usr/bin/perl

sub get_cookies {

my ($name, $value, $cookies_hash);

my $cookies_string = $ENV{HTTP_COOKIE};

return if not defined $cookies_string;

foreach my $cookie (split(/;\s*/, $cookies_string)) {
($name, $value) = split (/\s*=\s*/, $cookie);
next if $value =~ /^\s*$/;
$cookies_hash->{$name} = decode($value);
}
return $cookies_hash;
};

sub decode {
my $string = shift;
return if not defined $string;
$string =~ s/%([0-9a-fA-F]{2})/chr hex($1)/ge;
$string =~ s/\r\n/\n/g;
return $string;
}

my $cookies = get_cookies();

my $filename = $cookies->{filename} || "0101";

print "Content-type: text/html\n\n";
open(F, "../standings/include/".$filename."s.html") || die "Can't open file: $!";
print ;
close(F);
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
theUg



Зарегистрирован: 27.11.2002
Сообщения: 2

СообщениеДобавлено: Ср Ноя 27 2002 17:49    Заголовок сообщения: Re: Perl-скрипт, считывающий и применяющий значение куки. Ответить с цитатой

Ой. Мне, ко всему прочему, надо учиться методикам диагностики ошибок. Smile Мне тут подсказали напечатать $ENV{HTTP_COOKIE}, чтобы посмотреть, что программа получает на входе.

Он выдал мне куки, которые принадлежат этому же домену -- но это куки форумов, установленных на сервере, а нужную мне куку он просто не видит. При этом, ява скрипт читает их без проблем.

У меня появилось подозрение (eureka!): я задаю куку скриптом в поп-апе и из него же читаю. Пока я тестирую, я не задаю ни домен, ни expire и т.п., поэтому не записывается ли она дефолтом только для файла того поп-апа? Пойду проверю. Smile

* * * (через 20 минут)

Я временно перенёс скрипты задания куков на страницу, с которой вызывается перловая программа и в переменной $ENV{HTTP_COOKIE} таки обнаружил свою родную куку. Вот только скрипт её не читает и, даже не смотря (а может и благодаря Smile) на свои скудные познания в Perl'е, я не вижу, как этот скрипт определяет какая кука моя, а какая нет. Либо нужно проверять само значение куки, либо, что проще, сверять значение имени куки, поскольку оно известно заранее. Вот только как это сделать, я не очень представляю.

Через if then else, скорее всего?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...