[Cascavel-pm] Post/Get/Cookies Me ajudem!!!!! =)

Flavio S. Glock fglock em pucrs.br
Quarta Dezembro 3 07:40:10 CST 2003


Gabriel Vieira wrote:
> 
> Olá Lista,
> 
> fiz um script A que envia dados via socket em método POST para que
> este loga-se a um script B.
> São enviados um login e uma senha pelo script A, e o script B
> reconhece normalmente e libera o acesso.
> O script B seta um cookie para o login e a senha, até aí sem
> problemas.
> Porém, como quem está tentando acessar é um script perl(script A), os
> cookies não são gravados.
> Logo adicionei ao header do get/post a linha Cookies:
> login=blabla&senha=blabla
> 
> E fiz com com que o script B imprimisse na tela o conteúdo do
> $ENV{'HTTP_COOKIE'}, o mesmo imprime perfeitamente
> login=blabla&senha=blabla só que não os reconhece... Ele não libera o
> acesso mais.
> 
> Quando EU acesso via web normal, o login é feito, o cookie salvo..
> tudo 100%, porém quando o script A tenta fazer a segunda etapa
> (navegar a partir dos cookies passados via headers) o script B não
> trabalha direito.
> 
> Existe alguma informação a mais que deve ser passada via header para
> que o script B funcione também quando acessado pelo script A?
> Os navegadores impõem esta informação?

Se você utilizar o LWP, ele já tem toda a estrutura para cookies pronta.

Este é um trecho de um programa que trabalha com cookies:

    if ($ua) {
            $ua->cookie_jar->load($cookie_file) if $cookie_file;
    }
    else {
            $ua = LWP::UserAgent->new;
            $ua->agent($agent);
            $ua->timeout($timeout);
            $ua->env_proxy();
            $ua->cookie_jar(HTTP::Cookies->new(file => $cookie_file,
autosave => 1)) if $cookie_file;
    }

$cookie_file é o nome de um arquivo onde os cookies são armazenados. 
Desta forma, mesmo que você execute o programa de novo, os cookies já
existentes continuam valendo.

- Flavio S. Glock



Mais detalhes sobre a lista de discussão Cascavel-pm