[Cascavel-pm] WWW::Mechanize

BOO mayakuuri em bol.com.br
Sexta Fevereiro 2 15:09:28 PST 2007


Olá vict0r,

Acho que o problema é que tu não definiu onde guardar cookies e não 
passou as credenciais...
Tenta algo tipo:

<code>

use strict;
use warnings;
use Carp qw(croak);
use WWW::Mechanize;

my $web = WWW::Mechanize->new(timeout => 30);

my $url = "http://10.0.1.2";

######## ACHO QUE FOI ISSO QUE FALTOU ########

$web->cookie_jar({ file => "./.cookies.txt" });
$web->credentials('vict0r', 'senha_do_vict0r');

########################################

my $ret = $web->get($url);

if ($ret->code != 200){
  croak "Deu algo errado... Poste isso em cascavel-pm para ser ajudado !";
}

my $html = $ret->content;

faz_algo_que_preste_com($html);

</code>


Bem, isso não responde completamente a tua pergunta, pois faltam 
elementos importantes...

1) Tu ta usando que tipo de autenticação (form+sessão, basic, digest, 
session-token, et cetera) ?
2) Precisa gravar o que foi coletado em disco ou vai passar para um 
banco de dados ?
3) Qual o nível de recursividade para ir seguindo os links ?
4) Qualé o propósito principal do script que tu queres desenvolver ?

Por favor, responda essas perguntas e poste novos problemas que tu 
esteja tendo para que possamos
te ajudar melhor, ok ?

Abraço.

Igor Garcia


vict0r wrote:
> Srs.,
> gostaria de pedir a ajuda de vocês se possível.
> Preciso fazer o download de páginas HTML incluindo seus links
> internos, essa páginas estão em um servidor web de um switch da minha
> rede, portanto terei que autenticar para ter acesso.
> Pesquisei no cpan e encontrei o modulo WWW::Mechanize, que parece
> fazer o q preciso, incluindo autenticação e follow_link.
> Gostaria de saber se essa é a melhor opção nesse caso, pois escrevi um
> pequeno script só pra testar as funções do módulo e estou tendo
> problemas.
> ####
> #!/usr/bin/perl
>
>
> use WWW::Mechanize;
>
> my $mech = WWW::Mechanize->new();
> my $url = http://10.0.1.2;
> $mech->get( $url );
> my $res = $mech->status();
> print "$res\n";
> ####
>
> Retorno: 501
>
> Se tentar usar outros métodos diferentes do status(), o resultado é sempre:
>
> 501 Protocol scheme ' ' is not supported
>
> Está parecendo q falta algum parâmetro, alguém saberia dizer ?
>
> Obrigado.
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
>   



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