<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 09/05/2013 16:05, Andre Carneiro
      wrote:<br>
    </div>
    <blockquote
cite="mid:CABoU2P1+3fVo_ogf_Xit1q7j+OFcVtS1FpiOfa08D2k+e2FV-Q@mail.gmail.com"
      type="cite">
      <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 moz-do-not-send="true"
              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 moz-do-not-send="true"
                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>skype: marcio.ferreir4</div>
                  <div><a moz-do-not-send="true"
                      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 moz-do-not-send="true"
                    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;pa
 dding:0
px;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;p
 adding:
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>
                    </div>
                  </div>
                </blockquote>
              </div>
            </div>
          </blockquote>
        </div>
      </div>
    </blockquote>
    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<br>
    <blockquote
cite="mid:CABoU2P1+3fVo_ogf_Xit1q7j+OFcVtS1FpiOfa08D2k+e2FV-Q@mail.gmail.com"
      type="cite">
      <div class="gmail_extra">
        <div class="gmail_quote">
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div class="gmail_extra">
              <div class="gmail_quote">
                <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">
                        <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">



</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 moz-do-not-send="true"
                            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
                            moz-do-not-send="true"
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
                            moz-do-not-send="true" 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
                              moz-do-not-send="true"
                              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 moz-do-not-send="true"
                                      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
                                      moz-do-not-send="true"
                                      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
                      moz-do-not-send="true"
                      href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
                     SaoPaulo-pm mailing list: <a
                      moz-do-not-send="true"
                      href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
                     L<<a moz-do-not-send="true"
                      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 moz-do-not-send="true"
              href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
             SaoPaulo-pm mailing list: <a moz-do-not-send="true"
              href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
             L<<a moz-do-not-send="true"
              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>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">=begin disclaimer
   Sao Paulo Perl Mongers: <a class="moz-txt-link-freetext" href="http://sao-paulo.pm.org/">http://sao-paulo.pm.org/</a>
 SaoPaulo-pm mailing list: <a class="moz-txt-link-abbreviated" href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a>
 L<a class="moz-txt-link-rfc2396E" href="http://mail.pm.org/mailman/listinfo/saopaulo-pm"><http://mail.pm.org/mailman/listinfo/saopaulo-pm></a>
=end disclaimer
</pre>
    </blockquote>
    <br>
    <br>
    <div class="moz-signature">-- <br>
      Eduardo Almeida - Software Engineer<br>
      <a class="moz-txt-link-abbreviated" href="mailto:eduardo@web2solutions.com.br">eduardo@web2solutions.com.br</a> - 27 3021-2430 / 27 9839 3755<br>
      <br>
      <b>WEB2 Solutions</b> - Inovando, sempre!</div>
  </body>
</html>