[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