[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