<div dir="ltr">Pode crer Álvaro! Valeu!</div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/5/9 Marcio Ferreira <span dir="ltr"><<a href="mailto:marciodesouzaferreira@gmail.com" target="_blank">marciodesouzaferreira@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hmm, se a coisa estiver tensa com o javascript, tente usar o <a href="https://github.com/n1k0/casperjs" target="_blank">https://github.com/n1k0/casperjs</a><div>
CasperJS++</div><div><br></div></div><div class="gmail_extra"><div class="im">

<br clear="all"><div><br>[]s,<br><br>Marcio Ferreira<div></div><div>skype: marcio.ferreir4</div><div><a href="tel:%2821%29%208365-7768" value="+552183657768" target="_blank">(21) 8365-7768</a><br></div></div>
<br><br></div><div class="gmail_quote">2013/5/9 Alvaro Luiz <span dir="ltr"><<a href="mailto:alvaro.brasilia@gmail.com" target="_blank">alvaro.brasilia@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div class="h5">

<div dir="ltr">Com o WWW::Mechanize é possível sim, depois de muito quebrar a cabeça consegui solucionar da seguinte forma:<br><br>....<br><pre style="margin-top:0px;margin-bottom:0px;padding:0px;border:0px;font-size:12px;font-family:Consolas,'Liberation Mono',Courier,monospace;color:rgb(51,51,51);line-height:18px">

<div style="margin:0px;padding:0px 0px 0px 10px;border:0px"><pre style="margin-top:0px;margin-bottom:0px;padding:0px;border:0px;font-family:Consolas,'Liberation Mono',Courier,monospace"><div style="margin:0px;padding:0px 0px 0px 10px;border:0px">



<span style="margin:0px;padding:0px;border:0px;font-weight:bold">my</span> <span style="margin:0px;padding:0px;border:0px;color:rgb(0,128,128)">$name</span> <span style="margin:0px;padding:0px;border:0px;font-weight:bold">=</span> <span style="margin:0px;padding:0px;border:0px;color:rgb(221,17,68)">'ctl00$ctl00$MasterConteudo$Conteudo$LoginSistema$UserName'</span><span style="margin:0px;padding:0px;border:0px">;</span></div>



<div style="margin:0px;padding:0px 0px 0px 10px;border:0px"><span style="margin:0px;padding:0px;border:0px;font-weight:bold">my</span> <span style="margin:0px;padding:0px;border:0px;color:rgb(0,128,128)">$pass</span> <span style="margin:0px;padding:0px;border:0px;font-weight:bold">=</span> <span style="margin:0px;padding:0px;border:0px;color:rgb(221,17,68)">'ctl00$ctl00$MasterConteudo$Conteudo$LoginSistema$Password'</span><span style="margin:0px;padding:0px;border:0px">;</span></div>



<div style="margin:0px;padding:0px 0px 0px 10px;border:0px"><span style="margin:0px;padding:0px;border:0px;font-weight:bold">my</span> <span style="margin:0px;padding:0px;border:0px;color:rgb(0,128,128)">$button</span> <span style="margin:0px;padding:0px;border:0px;font-weight:bold">=</span> <span style="margin:0px;padding:0px;border:0px;color:rgb(221,17,68)">'ctl00$ctl00$MasterConteudo$Conteudo$LoginSistema$LoginButton'</span><span style="margin:0px;padding:0px;border:0px">;</span></div>



<div style="margin:0px;padding:0px 0px 0px 10px;border:0px"><span style="background-color:rgb(204,204,204)"><span style="margin:0px;padding:0px;border:0px;font-weight:bold">my</span> <span style="margin:0px;padding:0px;border:0px;color:rgb(0,128,128)">$viewstate</span> <span style="margin:0px;padding:0px;border:0px;font-weight:bold">=</span> <span style="margin:0px;padding:0px;border:0px">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,128,128)">$mech</span><span style="margin:0px;padding:0px;border:0px;font-weight:bold">-></span><span style="margin:0px;padding:0px;border:0px">find_all_inputs</span><span style="margin:0px;padding:0px;border:0px">(</span> <span style="margin:0px;padding:0px;border:0px">type</span> <span style="margin:0px;padding:0px;border:0px;font-weight:bold">=></span> <span style="margin:0px;padding:0px;border:0px;color:rgb(221,17,68)">'hidden'</span><span style="margin:0px;padding:0px;border:0px">,</span> <span style="margin:0px;padding:0px;border:0px">name</span> <span style="margin:0px;padding:0px;border:0px;font-weight:bold">=></span> <span style="margin:0px;padding:0px;border:0px;color:rgb(221,17,68)">'__VIEWSTATE'</span> <span style="margin:0px;padding:0px;border:0px">))[</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,153,153)">0</span><span style="margin:0px;padding:0px;border:0px">]</span><span style="margin:0px;padding:0px;border:0px;font-weight:bold">-></span><span style="margin:0px;padding:0px;border:0px">value</span><span style="margin:0px;padding:0px;border:0px">;</span></span></div>



<div style="margin:0px;padding:0px 0px 0px 10px;border:0px"><span style="background-color:rgb(204,204,204)"><span style="margin:0px;padding:0px;border:0px;font-weight:bold">my</span> <span style="margin:0px;padding:0px;border:0px;color:rgb(0,128,128)">$validation</span> <span style="margin:0px;padding:0px;border:0px;font-weight:bold">=</span> <span style="margin:0px;padding:0px;border:0px">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,128,128)">$mech</span><span style="margin:0px;padding:0px;border:0px;font-weight:bold">-></span><span style="margin:0px;padding:0px;border:0px">find_all_inputs</span><span style="margin:0px;padding:0px;border:0px">(</span> <span style="margin:0px;padding:0px;border:0px">type</span> <span style="margin:0px;padding:0px;border:0px;font-weight:bold">=></span> <span style="margin:0px;padding:0px;border:0px;color:rgb(221,17,68)">'hidden'</span><span style="margin:0px;padding:0px;border:0px">,</span> <span style="margin:0px;padding:0px;border:0px">name</span> <span style="margin:0px;padding:0px;border:0px;font-weight:bold">=></span> <span style="margin:0px;padding:0px;border:0px;color:rgb(221,17,68)">'__EVENTVALIDATION'</span> <span style="margin:0px;padding:0px;border:0px">))[</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,153,153)">0</span><span style="margin:0px;padding:0px;border:0px">]</span><span style="margin:0px;padding:0px;border:0px;font-weight:bold">-></span><span style="margin:0px;padding:0px;border:0px">value</span><span style="margin:0px;padding:0px;border:0px">;</span>  </span>              </div>



<div style="margin:0px;padding:0px 0px 0px 10px;border:0px"><span style="margin:0px;padding:0px;border:0px;color:rgb(153,153,136);font-style:italic">#loga no painel</span></div><div style="margin:0px;padding:0px 0px 0px 10px;border:0px">



<span style="margin:0px;padding:0px;border:0px;color:rgb(0,128,128)">$mech</span><span style="margin:0px;padding:0px;border:0px;font-weight:bold">-></span><span style="margin:0px;padding:0px;border:0px">field</span><span style="margin:0px;padding:0px;border:0px">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,128,128)">$name</span> <span style="margin:0px;padding:0px;border:0px;font-weight:bold">=></span> <span style="margin:0px;padding:0px;border:0px;color:rgb(0,128,128)">$cpfcnpj</span><span style="margin:0px;padding:0px;border:0px">);</span></div>



<div style="margin:0px;padding:0px 0px 0px 10px;border:0px"><span style="margin:0px;padding:0px;border:0px;color:rgb(0,128,128)">$mech</span><span style="margin:0px;padding:0px;border:0px;font-weight:bold">-></span><span style="margin:0px;padding:0px;border:0px">field</span><span style="margin:0px;padding:0px;border:0px">(</span><span style="margin:0px;padding:0px;border:0px;color:rgb(0,128,128)">$pass</span> <span style="margin:0px;padding:0px;border:0px;font-weight:bold">=></span> <span style="margin:0px;padding:0px;border:0px;color:rgb(0,128,128)">$senha</span><span style="margin:0px;padding:0px;border:0px">);</span></div>



<div style="margin:0px;padding:0px 0px 0px 10px;border:0px"><span style="background-color:rgb(204,204,204)"><span style="margin:0px;padding:0px;border:0px;color:rgb(0,128,128)">$mech</span><span style="margin:0px;padding:0px;border:0px;font-weight:bold">-></span><span style="margin:0px;padding:0px;border:0px">field</span><span style="margin:0px;padding:0px;border:0px">(</span><span style="margin:0px;padding:0px;border:0px">__VIEWSTATE</span> <span style="margin:0px;padding:0px;border:0px;font-weight:bold">=></span> <span style="margin:0px;padding:0px;border:0px;color:rgb(0,128,128)">$viewstate</span><span style="margin:0px;padding:0px;border:0px">);</span></span></div>



<div style="margin:0px;padding:0px 0px 0px 10px;border:0px"><span style="background-color:rgb(204,204,204)"><span style="margin:0px;padding:0px;border:0px;color:rgb(0,128,128)">$mech</span><span style="margin:0px;padding:0px;border:0px;font-weight:bold">-></span><span style="margin:0px;padding:0px;border:0px">field</span><span style="margin:0px;padding:0px;border:0px">(</span><span style="margin:0px;padding:0px;border:0px">__EVENTVALIDATION</span> <span style="margin:0px;padding:0px;border:0px;font-weight:bold">=></span> <span style="margin:0px;padding:0px;border:0px;color:rgb(0,128,128)">$validation</span><span style="margin:0px;padding:0px;border:0px">);</span></span></div>



<div style="margin:0px;padding:0px 0px 0px 10px;border:0px"><span style="margin:0px;padding:0px;border:0px;color:rgb(0,128,128)">$mech</span><span style="margin:0px;padding:0px;border:0px;font-weight:bold">-></span><span style="margin:0px;padding:0px;border:0px">field</span><span style="margin:0px;padding:0px;border:0px">(</span><span style="margin:0px;padding:0px;border:0px">__VIEWSTATEENCRYPTED</span> <span style="margin:0px;padding:0px;border:0px;font-weight:bold">=></span> <span style="margin:0px;padding:0px;border:0px;color:rgb(221,17,68)">''</span><span style="margin:0px;padding:0px;border:0px">);</span></div>



<div style="margin:0px;padding:0px 0px 0px 10px;border:0px"><span style="margin:0px;padding:0px;border:0px;color:rgb(0,128,128)">$mech</span><span style="margin:0px;padding:0px;border:0px;font-weight:bold">-></span><span style="margin:0px;padding:0px;border:0px">click</span><span style="margin:0px;padding:0px;border:0px">();</span> <span style="margin:0px;padding:0px;border:0px;color:rgb(153,153,136);font-style:italic">#Não funcionou nem com post() nem submit() apenas simulando click()</span></div>



</pre></div></pre><div class="gmail_extra">...<br></div><div class="gmail_extra"><br>Segue aqui como exemplo um rascunho de parte de um modulo que estou criando para interagir como um sistema em <a href="http://ASP.NET" target="_blank">ASP.NET</a> nesse git bagunçado e abandonado ai esta apenas a parte de login, mais sera suficiente para dar uma luz ao Marcio.</div>



<div class="gmail_extra"><br></div><div class="gmail_extra"><a href="https://github.com/AlvaroBrasilia/WWW-NFSe-Guarapari/blob/master/WWW-NFSe-Guarapari-0.02/lib/WWW/NFSe/Guarapari.pm" target="_blank">https://github.com/AlvaroBrasilia/WWW-NFSe-Guarapari/blob/master/WWW-NFSe-Guarapari-0.02/lib/WWW/NFSe/Guarapari.pm</a><br>



</div><div class="gmail_extra"><br></div><div class="gmail_extra">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.</div>



<div class="gmail_extra"><br></div><div class="gmail_extra">Uma alternativa que parece ser ideal para interagir com paginas <a href="http://asp.net" target="_blank">asp.net</a> é o HTML::TreeBuilderX::ASP_NET mas ainda não testei pois a forma que  fiz no exemplo acima atendeu minhas necessidades.</div>



<div class="gmail_extra"><br></div><div class="gmail_extra">Ignorem a bagunça e possíveis erros, estou apenas engatinhando nesse mundo Perl.</div><div class="gmail_extra"><br></div><div class="gmail_extra">
Att.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Álvaro Luiz</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Em 9 de maio de 2013 13:54, Andre Carneiro <span dir="ltr"><<a href="mailto:andregarciacarneiro@gmail.com" target="_blank">andregarciacarneiro@gmail.com</a>></span> escreveu:<br>



</div><div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">


<div dir="ltr">
<br><div class="gmail_extra">Se o site tá em <a href="http://ASP.NET" target="_blank">ASP.NET</a> não esqueça de incluir o token gigantesco na requisição, que os sites feitos em <a href="http://ASP.NET" target="_blank">ASP.NET</a> 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). </div>




<div class="gmail_extra"><br></div><div class="gmail_extra">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. </div>




<div class="gmail_extra"><br></div><div class="gmail_extra">Sinceramente recomendo que você analise tudo com um sniffer ou algo parecido para só por desencargo...</div><div class="gmail_extra"><br></div></div></blockquote>



</div></div></div></div>
<br></div></div><div class="im">=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></div></blockquote></div><br></div>
<br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>André Garcia Carneiro<br>Software Engineer<br>(11)982907780
</div>