none
Como fazer login em um site e pegar um conteudo RRS feed

  • Pergunta

  • Boa noite,

    pessoal eu preciso de uma ajuda eu estou tentando fazer login nesse site (https://sistema.agillitas.com.br/InterfaceReseller.asp) para pegar um conteúdo apos o login mas não estou encontrando como fazer isso.

    agradeço muito quem puder me ajudar.

    quinta-feira, 2 de outubro de 2014 01:20

Respostas

  • Se você for usar o controle WebBrowser em seu projeto ficaria mais ou menos assim:

    	System.Windows.Forms.HtmlDocument doc = webBrowser1.Document;
                    System.Windows.Forms.HtmlElement head = (System.Windows.Forms.HtmlElement)doc.GetElementsByTagName("head")[0];
                    System.Windows.Forms.HtmlElement s = (System.Windows.Forms.HtmlElement)doc.CreateElement("script");
                    s.SetAttribute("text", "function Logar(){document.getElementsByName('lgn')[0].value='usuario'; document.getElementsByName('snh')[0].value='MinhaSenha';document.getElementsByName('enviar')[0].click();}");
                    head.AppendChild(s);
                    webBrowser1.Document.InvokeScript("Logar");
    Mais se estiver dentro de um Frame você terá um pouco mais de trabalho com JavaScript.

    Se te ajudou marca como resposta
    quinta-feira, 2 de outubro de 2014 13:43
  • Cara, acredito que a forma mais simples de se fazer isso é utilizando o webbrowser, carrega o site nele, então vc le o retorno html dele, e busca os campos de login e senha e passa os valores pra ele, e faz o clique no botão.

    Não tenho nenhum exemplo agora, mais da uma googlada por como ler dados html pelo webbrowser.

    Espero ter dado uma idéia.

    quinta-feira, 2 de outubro de 2014 13:49

Todas as Respostas

  • Bom dia Diogo,

    Não entendi direito, você quer pegar um conteúdo através do C#?

    Att,


    Ricardo Cortes Microsoft Contingent Staff

    Esse contedo e fornecido sem garantias de qualquer tipo, seja expressa ou implicita.

    MSDN Community Support

    quinta-feira, 2 de outubro de 2014 13:38
    Moderador
  • Se você for usar o controle WebBrowser em seu projeto ficaria mais ou menos assim:

    	System.Windows.Forms.HtmlDocument doc = webBrowser1.Document;
                    System.Windows.Forms.HtmlElement head = (System.Windows.Forms.HtmlElement)doc.GetElementsByTagName("head")[0];
                    System.Windows.Forms.HtmlElement s = (System.Windows.Forms.HtmlElement)doc.CreateElement("script");
                    s.SetAttribute("text", "function Logar(){document.getElementsByName('lgn')[0].value='usuario'; document.getElementsByName('snh')[0].value='MinhaSenha';document.getElementsByName('enviar')[0].click();}");
                    head.AppendChild(s);
                    webBrowser1.Document.InvokeScript("Logar");
    Mais se estiver dentro de um Frame você terá um pouco mais de trabalho com JavaScript.

    Se te ajudou marca como resposta
    quinta-feira, 2 de outubro de 2014 13:43
  • Cara, acredito que a forma mais simples de se fazer isso é utilizando o webbrowser, carrega o site nele, então vc le o retorno html dele, e busca os campos de login e senha e passa os valores pra ele, e faz o clique no botão.

    Não tenho nenhum exemplo agora, mais da uma googlada por como ler dados html pelo webbrowser.

    Espero ter dado uma idéia.

    quinta-feira, 2 de outubro de 2014 13:49
  • isso e atraves do c# windows forms
    sexta-feira, 3 de outubro de 2014 01:48
  • Amigão eu estou fazendo assim.

    private void button1_Click(object sender, EventArgs e)
            {
                string url = "https://sistema.agillitas.com.br/_Resellers/login.asp?signOnToken=off";
                webBrowser1.Navigate(url);
            }
    
            private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
            {
                HtmlDocument doc = webBrowser1.Document;
                HtmlElement head = (HtmlElement)doc.GetElementsByTagName("head")[0];
                HtmlElement s = (HtmlElement)doc.CreateElement("script");
                s.SetAttribute("text", "function Logar(){document.getElementsByName('lgn')[0].value='diogo.reis'; document.getElementsByName('snh')[0].value='edlane02';document.getElementsByName('enviar')[0].click();}");
                head.AppendChild(s);
                webBrowser1.Document.InvokeScript("Logar");
            }

    mas fica dando um erro de script da pagina

    mas se eu clicar em não ele loga no site mas tem como fazer o login sem abrir esse script pq o webbrowser vai ficar invisível dentro do form.

    e outra pergunta apos o login eu teno que acessar um menu do site ai e só eu jogar como uma url no navigate ?
    • Editado Diogo Reis sexta-feira, 3 de outubro de 2014 01:54
    sexta-feira, 3 de outubro de 2014 01:53
  • Vamos la, primeiramente você tem que ter certeza da localização do campo do site, por exemplo nesse site vi que os campos estão dentro de um iframe ou seja o modo que você fez não acessara o campo, procura por query selector em javascript para poder acessa-lo.

    No segundo caso se o menu apresenta o caminho na url você pode colocar a url mesmo em webbrowser.navigate que resolve.

    sexta-feira, 3 de outubro de 2014 09:46