Simples meu caro gafanhoto! Você seguiu o be-a-bá tradicional de forma correta. Acessa a página do formulário, preenche os dados e submit.
Só que esse form na realidade não faz o tradicional. Se você inspecionar a página com o Inspect ou o firebug no Firefox, vai ver que o form não declara um "method" o que implica "GET". Entretanto, para acessar os dados, a página faz um "POST", provavelmente via AJAX e não um submit tradicional. Quando vc faz o submit, o Mechanize tenta enviar os dados pela URL usando o método GET e o sevidor te responde com um 404 Not Found. É isso que o Mechanize está te avisando. Dá uma olhada nisso aqui: https://github.com/blabos/Docs/wiki/Protocolo-HTTP []'s 2014-07-09 14:15 GMT-03:00 Aureliano Guedes <guedes_1...@hotmail.com>: > Ola monges, > > Estou desenvolvendo um scriptzinho teste que se der tudo certo transformo > em modulo e faço o upload para o CPAN. > > O script trabalha com calculo de frete, semelhante ao > WWW::Correios::PrecoPrazo do Garu. > > A diferença é que ele calcula o frete com o desconto oferecido pelo > PagSeguro para Envio Fácil (e-sedex) quando o pagamento é efetuado via > PagSeguro. > > Estou usando o WWW::Mechanize, mas algo da errado. Quando preencho os > fields e submito retorna o seguinte erro: > 'Error GETing > https://pagseguro.uol.com.br/para_seu_negocio/howItWorksCalculator. > > jhtml?originCep=74491626&destinyCep=36072130&width=30&height=6&length=40&weight= > 0.300: Not Found at C:\Users\Aureliano\Desktop\CEP\CEP.pl line 29.' > > Mas não sei exato qual o problema, mas parece que ta tentando puxar essa > uri, ou sei la o que ta acontecendo. > > Alguem tem alguma ideia? > > link do script completo: http://pastebin.com/Cg7XWBgB > > Rotina onde acredito estar o problema: > sub envio_facil{ > my ($o, $d, $c, $a, $l) = @_; > my $url = WWW::Mechanize->new(); > $url->get(' > http://www.pagseguro.uol.com.br/para_seu_negocio/envio-facil.jhtml'); > $url->submit_form( > form_id => 'simulateCep', > fields => {originCep => $c, > destinyCep => $d, > width => $l, > height => $a, > length => $c, , > }, > ); > > my $preco = $url->decoded_content; > return $preco; > } > > > > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm@pm.org > http://mail.pm.org/mailman/listinfo/rio-pm >
_______________________________________________ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm