Pode crer Álvaro! Valeu!

2013/5/9 Marcio Ferreira <[email protected]>

> 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 <[email protected]>
>
>> 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 <[email protected]
>> > 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: [email protected]
>>  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: [email protected]
>  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: [email protected]
 L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer

Responder a