[SP-pm] Capturar dados de sites
Eduardo Almeida
eduardo at web2solutions.com.br
Thu May 9 12:32:08 PDT 2013
On 09/05/2013 16:05, Andre Carneiro wrote:
> Pode crer Álvaro! Valeu!
>
>
> 2013/5/9 Marcio Ferreira <marciodesouzaferreira em gmail.com
> <mailto:marciodesouzaferreira em gmail.com>>
>
> Hmm, se a coisa estiver tensa com o javascript, tente usar o
> https://github.com/n1k0/casperjs
> CasperJS++
>
>
>
> []s,
>
> Marcio Ferreira
> skype: marcio.ferreir4
> (21) 8365-7768 <tel:%2821%29%208365-7768>
>
>
> 2013/5/9 Alvaro Luiz <alvaro.brasilia em gmail.com
> <mailto:alvaro.brasilia em gmail.com>>
>
> Com o WWW::Mechanize é possível sim, depois de muito quebrar a
> cabeça consegui solucionar da seguinte forma:
>
> ....
>
> my $name =
> 'ctl00$ctl00$MasterConteudo$Conteudo$LoginSistema$UserName';
>
>
>
>
> my $pass =
> 'ctl00$ctl00$MasterConteudo$Conteudo$LoginSistema$Password';
>
>
>
>
> my $button =
> 'ctl00$ctl00$MasterConteudo$Conteudo$LoginSistema$LoginButton';
>
>
>
>
> my $viewstate = ($mech->find_all_inputs( type => 'hidden',
> name => '__VIEWSTATE' ))[0]->value;
>
>
>
>
> my $validation = ($mech->find_all_inputs( type => 'hidden',
> name => '__EVENTVALIDATION' ))[0]->value;
>
>
>
>
> #loga no painel
> $mech->field($name => $cpfcnpj);
>
>
>
>
> $mech->field($pass => $senha);
>
>
>
>
> $mech->field(__VIEWSTATE => $viewstate);
>
>
>
>
> $mech->field(__EVENTVALIDATION => $validation);
>
>
>
>
> $mech->field(__VIEWSTATEENCRYPTED => '');
>
>
>
>
> $mech->click(); #Não funcionou nem com post() nem submit()
> apenas simulando click()
>
Provavelmente a url final nao aceitou POST porque exige algum tipo de
validação de session que deve ocorrer ná página onde se encontra o tal
botão que vc acionou via mech
>
>
>
>
> ...
>
> Segue aqui como exemplo um rascunho de parte de um modulo que
> estou criando para interagir como um sistema em ASP.NET
> <http://ASP.NET> nesse git bagunçado e abandonado ai esta
> apenas a parte de login, mais sera suficiente para dar uma luz
> ao Marcio.
>
> https://github.com/AlvaroBrasilia/WWW-NFSe-Guarapari/blob/master/WWW-NFSe-Guarapari-0.02/lib/WWW/NFSe/Guarapari.pm
>
> Interagir com .NET é bem chato, algumas coisas não funcionam
> bem usando WWW::Mechanize pois ele ainda tem algumas
> limitações a interação com Javascript.
>
> Uma alternativa que parece ser ideal para interagir com
> paginas asp.net <http://asp.net> é
> o HTML::TreeBuilderX::ASP_NET mas ainda não testei pois a
> forma que fiz no exemplo acima atendeu minhas necessidades.
>
> Ignorem a bagunça e possíveis erros, estou apenas engatinhando
> nesse mundo Perl.
>
> Att.
>
> Álvaro Luiz
>
>
> Em 9 de maio de 2013 13:54, Andre Carneiro
> <andregarciacarneiro em gmail.com
> <mailto:andregarciacarneiro em gmail.com>> escreveu:
>
>
> Se o site tá em ASP.NET <http://ASP.NET> não esqueça de
> incluir o token gigantesco na requisição, que os sites
> feitos em ASP.NET <http://ASP.NET> normalmente geram
> automaticamente através de componentes .NET. Para
> facilitar utilize algum sniffer de http como Burp,
> wireshark ou mesmo o bom e velho Data Tamper(nem sei se
> existe isso ainda). Com isso poderás ver tudo o que está
> rolando na requisição desde cabeçalhos http até as
> variáveis que deverão ser incluídas na requisição(acho
> mais prático).
>
> Não sei se dá para fazer isso automaticamente com
> WWW::Mechanize, acredito que não. De qualquer forma, você
> sempre pode escolher o 'caminho mais dolorido', abrindo o
> código da página, e checar as variáveis com 'os zóio'. Eu
> não recomendo, pois se tiver Javascript envolvido com
> requisição(o que não é difícil hoje em dia), vai ter mais
> trabalho para montar a requisição com tudo o que ela precisa.
>
> Sinceramente recomendo que você analise tudo com um
> sniffer ou algo parecido para só por desencargo...
>
>
> =begin disclaimer
> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
> SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
> <mailto:SaoPaulo-pm em pm.org>
> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>
>
> =begin disclaimer
> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
> SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
> <mailto:SaoPaulo-pm em pm.org>
> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>
>
>
> --
> André Garcia Carneiro
> Software Engineer
> (11)982907780
>
>
> =begin disclaimer
> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
> SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
--
Eduardo Almeida - Software Engineer
eduardo em web2solutions.com.br - 27 3021-2430 / 27 9839 3755
*WEB2 Solutions* - Inovando, sempre!
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20130509/3aa64783/attachment-0001.html>
More information about the SaoPaulo-pm
mailing list