[SP-pm] Deveria Funcionar?

Márcio Vitor cromo.jml at gmail.com
Sun Sep 14 10:14:14 PDT 2008


Daniel, não sei se o que você está pretendendo criando o cookie desta
maneira vai funcionar, mas me parece que está faltando apenas você
enviar o objeto criado com o cookie para o $ua através do método
cookie_jar.

Márcio Vitor

2008/9/14 Daniel de Oliveira Mantovani <daniel.oliveira.mantovani em gmail.com>:
> #!/usr/bin/perl
>
> use strict;
> use warnings;
> use HTTP::Cookies;
> use LWP::UserAgent;
>
> my $url = "www.server.com.br";
> my $ua = LWP::UserAgent->new;
> $ua->timeout(10);
> my $cookie_jar = HTTP::Cookies->new;
> $cookie_jar->set_cookie("JSESSIONID", "A0F33406C55E366E39F31E4F57521672",
> "www4.server.com.br");

$ua->cookie_jar($cookie_jar);

> my $response = $ua->get("$url");
> my $conteudo = $response->content;
> print "$conteudo\n";
>
> Só sei como unir com o $ua.
>
> 2008/9/14 Daniel de Oliveira Mantovani <daniel.oliveira.mantovani em gmail.com>
>>
>> Obrigado.
>> Vou que vou agora.
>>
>> 2008/9/14 Márcio Vitor <cromo.jml em gmail.com>
>>>
>>> perldoc LWP::UserAgent
>>>
>>> $ua->cookie_jar( $cookie_jar_obj )
>>>           Get/set the cookie jar object to use.  The only requirement
>>> is that the cookie jar object must
>>>           implement the extract_cookies($request) and
>>> add_cookie_header($response) methods.  These methods
>>>           will then be invoked by the user agent as requests are sent
>>> and responses are received.  Normally
>>>           this will be a "HTTP::Cookies" object or some subclass.
>>>
>>> O método cookie_jar recebe um objeto de cookie no caso você pode usar
>>> o módulo HTTP::Cookies para criar o objeto:
>>>
>>> use LWP::UserAgent;
>>> my $ua = LWP::UserAgent->new;
>>> $ua->timeout(10);
>>> $ua->cookie_jar(HTTP::Cookies->new(file => ".cookies.txt");
>>> my $response = $ua->get($url);
>>> my $conteudo = $response->content;
>>>
>>> perldoc HTTP::Cookies
>>>
>>> []s e um bom domingo
>>>
>>> Márcio Vitor
>>>
>>> 2008/9/14 Daniel de Oliveira Mantovani
>>> <daniel.oliveira.mantovani em gmail.com>:
>>> > Também não está funcionando, tem que por mais informações que nem a do
>>> > Eden
>>> > pois acima.
>>> > use LWP::UserAgent;
>>> > my $ua = LWP::UserAgent->new;
>>> > $ua->timeout(10);
>>> > $ua->cookie_jar({ 'JSESSIONID' => 'A898046DD481350D04CEDA944EAEF7DF'
>>> > });
>>> > my $response = $ua->get("$url");
>>> > my $conteudo = $response->content;
>>> >
>>> > Acho que precisa do servidor, mas algumas coisas, eu olhei na Internet
>>> > e não
>>> > achei nada para por as opções.
>>> >
>>> > 2008/9/14 Luis Motta Campos <luismottacampos em yahoo.co.uk>
>>> >>
>>> >> Daniel de Oliveira Mantovani wrote:
>>> >>>
>>> >>> Olá pessoal, andei pesquisando e fiz de acordo com o que eu achei, e
>>> >>> simplesmente não acho um motivo lógico pelo qual meu programa não
>>> >>> está
>>> >>> rodando.
>>> >>
>>> >> O "motivo lógico" que você está procurando são "dados errados".
>>> >>
>>> >>> require LWP::UserAgent;
>>> >>> my $ua = LWP::UserAgent->new;
>>> >>> $ua->timeout(10);
>>> >>> $ua->env_proxy;
>>> >>> my $q = new CGI;
>>> >>> my $value = $q->cookie('*0B8B44E3E133D825D44164DE207DD2D6*');
>>> >>> $ua->cookie_jar({ *'JSESSIONID*'=> $value });
>>> >>> my $response = $ua->get("$url");
>>> >>> my $conteudo = $response->content;
>>> >>>
>>> >>> Está abrindo o site correctamente, mas preciso inserir o Cookie (Nome
>>> >>> e
>>> >>> Valor), e simplesmente não funciona.
>>> >>> Não da nem um erro, o Cookie simplesmente não funciona.
>>> >>
>>> >> O que você quer não precisa de CGI:
>>> >>
>>> >> use LWP::UserAgent;   # USE, não REQUIRE
>>> >> my $ua = LWP::UserAgent->new;
>>> >> $ua->timeout(10);
>>> >> $ua->env_proxy;
>>> >> $ua->cookie_jar({ 'JSESSIONID' => '0B8B44E3E133D825D44164DE207DD2D6'
>>> >> });
>>> >> my $response = $ua->get("$url");
>>> >> my $conteudo = $response->content;
>>> >>
>>> >> O LWP::UserAgent::cookie_jar é um método de acesso (accessor) para uma
>>> >> estrutura de dados em Perl (um hash-table), que contém pares
>>> >> nome-valor para
>>> >> cada cookie que deve ser gerado pelo cliente para o servidor. Para
>>> >> acrescentar um cookie, você precisa apenas acrescentar as informações
>>> >> necessárias na estrutura de dados.
>>> >>
>>> >> Eu não testei seu código, mas agora deve funcionar.
>>> >> Putamplexos.
>>> >> --
>>> >> Luis Motta Campos is a software engineer,
>>> >> Perl Programmer, foodie and photographer.
>>> >> _______________________________________________
>>> >> SaoPaulo-pm mailing list
>>> >> SaoPaulo-pm em pm.org
>>> >> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>> >
>>> >
>>> >
>>> > --
>>> > Daniel de Oliveira Mantovani
>>> > "A sede pelo aprendizado é insaciável"
>>> > http://mantovanihouse.blogspot.com/
>>> > ------------------------------------------------------------
>>> >
>>> > _______________________________________________
>>> > SaoPaulo-pm mailing list
>>> > SaoPaulo-pm em pm.org
>>> > http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>> >
>>> _______________________________________________
>>> SaoPaulo-pm mailing list
>>> SaoPaulo-pm em pm.org
>>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>
>>
>>
>> --
>> Daniel de Oliveira Mantovani
>> "A sede pelo aprendizado é insaciável"
>> http://mantovanihouse.blogspot.com/
>> ------------------------------------------------------------
>
>
>
> --
> Daniel de Oliveira Mantovani
> "A sede pelo aprendizado é insaciável"
> http://mantovanihouse.blogspot.com/
> ------------------------------------------------------------
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>


More information about the SaoPaulo-pm mailing list