[SP-pm] Capturar dados de sites

Marcio Ferreira marciodesouzaferreira at gmail.com
Thu May 9 10:32:54 PDT 2013


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


2013/5/9 Alvaro Luiz <alvaro.brasilia at 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()
>
> ...
>
> Segue aqui como exemplo um rascunho de parte de um modulo que estou
> criando para interagir como um sistema em 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 é
> 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 at gmail.com>escreveu:
>
>>
>> Se o site tá em ASP.NET não esqueça de incluir o token gigantesco na
>> requisição, que os sites feitos em 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 at pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20130509/43c259a6/attachment-0001.html>


More information about the SaoPaulo-pm mailing list