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

Luis Campos de Carvalho lechamps em terra.com.br
Quarta Dezembro 3 06:16:55 CST 2003


Gabriel Vieira wrote:
> Olá Lista,

   Oies, Gabriel.

> fiz um script A que envia dados via socket em método POST para que este 
> loga-se a um script B.

   A? B? Socket?
   Como você está falando em Cookies, vou imaginar que você esteja 
tentando falar HTTP com alguém. =-] Se eu estiver supondo errado, por 
favor me corrija.

> 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.

   Você está usando algum módulo para administrar isso, ou está falando 
HTTP diretamente com o servidor, via Socket?

> Logo adicionei ao header do get/post a linha Cookies: 
> login=blabla&senha=blabla

   Isto não se parece em nada com um Cookie... parece mais um parametro 
passado via GET, coisa que você não está usando... Cookies são 
cabeçalhos HTTP, devem ser passados juntamente com a requisição, no 
formato de cabeçalhos.

> 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?

   Sim, existe.

> Os navegadores impõem esta informação?

   Como assim, 'impõem'? Eles seguem a RFC2616 e passam os cabeçalhos 
corretamente.

   Para você ler, muito educativo:
   [http://www.w3.org/Protocols/rfc2616/rfc2616.html]

> Alguém tem idéia?

   =]

> Tá complicado de entender?? =P

   Muito complicado.

   Por favor, diga qual o website onde você está tentando se conectar, e 
de preferência me deixe ver seu código... posso ajudar mais se souber do 
que eu estou falando.

   Por outro lado, você poderia usar o LWP::Client ou o 
LWP::SimpleClient para navegar programaticamente em qualquer website. Ou 
o WWW:Mechanize, construído especificamente para o seu caso...

   Espero que isso te ajude.
   Se precisar de mais, por favor escreva.
   []'z!
-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
   Luis Campos de Carvalho is BSc in Comp Science,
   PerlMonk [SiteDocClan], Cascavel-pm Moderator,
   Unix Sys Admin && Certified Oracle DBA
   http://br.geocities.com/monsieur_champs/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=




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