Usuário com melhor resposta
Como posso preencher formularios ou mesmo login com c#

Pergunta
-
Estou precisando preencher campos de uma pagina web por exemplo meu e-mail ou mesmo um formulario de cadastro utilizando c# como alicação desktop,existe alguma maneira de se fazer isso,vi isso no vb6 mais nunca vi em c#,alguém pode me ajudar?
Respostas
-
Para aqueles que necessitarem desta resolução segue o código, demorei mais consegui resolver sozinho kkkk.:
using System; using System.Windows.Forms; using System.Net; using System.IO; using System.Diagnostics; namespace ObtendoCodigoDePagina { public partial class Form1 : Form { string resposta = string.Empty; WebRequest request = WebRequest.Create("http://webmail.infonet.com.br/horde/imp/login.php"); Stream data=null; StreamReader sr; WebResponse response; public Form1() { InitializeComponent(); } private void btnViewCode_Click(object sender, EventArgs e) { //type="text" tabindex="1" name="imapuser" value=+textbox1.text+" style="direction:ltr" size="20" //type="password" tabindex="2" name="pass" value=+textbox2.text+" style="direction:ltr" size="20" } private void btnLogin_Click(object sender, EventArgs e) { resposta = resposta.Replace("<input type=\"password\" tabindex=\"2\" name=\"pass\" style=\"direction:ltr\" />", "<input type=\"password\" tabindex=\"2\" name=\"pass\" value=" + "\"" + textBox2.Text + "\" style=\"direction:ltr\" /> "); resposta = resposta.Replace("<input type=\"text\" tabindex=\"1\" name=\"imapuser\" value=\"\" style=\"direction:ltr\" />", "<input type=\"text\" tabindex=\"1\" name=\"imapuser\" value=" + "\"" + textBox1.Text + "\" style=\"direction:ltr\" /> "); File.WriteAllText(@"C:\Login.html", resposta); txtCodigoFonte.Text = resposta; sr.Close(); data.Close(); ProcessStartInfo sInfo = new ProcessStartInfo(@"C:\Login.html"); Process.Start(sInfo); Close(); } private void Form1_Load(object sender, EventArgs e) { response = request.GetResponse(); data= response.GetResponseStream(); sr = new StreamReader(data); resposta = sr.ReadToEnd(); } } }
- Marcado como Resposta Mr. GMSOFT sexta-feira, 15 de março de 2013 13:13
Todas as Respostas
-
Existe sim, você pode simular o envio de teclas através da classe SendKeys, pode até mesmo simular teclas de função, enter, delete, backspace.
Para simular teclas de comando do teclado, colocar elas entre Chaves "{".
Segue um exemplo abaixo.
SendKeys.Send("Leonardo{TAB}"); SendKeys.Send("Lourenço{ENTER}");
Leonardo Lourenço Silva
- Sugerido como Resposta Leonardo Lourenço Silva quinta-feira, 7 de março de 2013 17:55
-
Só que desse modo eu não estaria enviando para o campo correspondente na pagina WEB em meu navegador, quero por exemplo:
preencher login e senha enviando o metodo "POST" só que utilizando WebRequest.
para preencher os dados desse link: http://webmail.stactus.com.br/webmail/x3/?login=1
tentei fazer assim:private void EnviarDados() { try{ string usuario = textBox1.Text; string senha = textBox2.Text; ASCIIEncoding codific = new ASCIIEncoding(); string postData = "user=" + usuario + "&pass =" + senha; byte[] data = codific.GetBytes(postData); WebRequest request = WebRequest.Create("http://webmail.stactus.com.br/webmail/x3/?login=1"); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = data.Length; Stream stream = request.GetRequestStream(); stream.Write(data, 0, data.Length); WebResponse resposta = request.GetResponse(); stream = resposta.GetResponseStream(); StreamReader sr = new StreamReader(stream); MessageBox.Show(sr.ReadToEnd()); sr.Close(); stream.Close(); }catch (Exception ex) { MessageBox.Show("Erro : "+ex.Message); } }
- Editado Mr. GMSOFT quinta-feira, 7 de março de 2013 18:24
-
Para aqueles que necessitarem desta resolução segue o código, demorei mais consegui resolver sozinho kkkk.:
using System; using System.Windows.Forms; using System.Net; using System.IO; using System.Diagnostics; namespace ObtendoCodigoDePagina { public partial class Form1 : Form { string resposta = string.Empty; WebRequest request = WebRequest.Create("http://webmail.infonet.com.br/horde/imp/login.php"); Stream data=null; StreamReader sr; WebResponse response; public Form1() { InitializeComponent(); } private void btnViewCode_Click(object sender, EventArgs e) { //type="text" tabindex="1" name="imapuser" value=+textbox1.text+" style="direction:ltr" size="20" //type="password" tabindex="2" name="pass" value=+textbox2.text+" style="direction:ltr" size="20" } private void btnLogin_Click(object sender, EventArgs e) { resposta = resposta.Replace("<input type=\"password\" tabindex=\"2\" name=\"pass\" style=\"direction:ltr\" />", "<input type=\"password\" tabindex=\"2\" name=\"pass\" value=" + "\"" + textBox2.Text + "\" style=\"direction:ltr\" /> "); resposta = resposta.Replace("<input type=\"text\" tabindex=\"1\" name=\"imapuser\" value=\"\" style=\"direction:ltr\" />", "<input type=\"text\" tabindex=\"1\" name=\"imapuser\" value=" + "\"" + textBox1.Text + "\" style=\"direction:ltr\" /> "); File.WriteAllText(@"C:\Login.html", resposta); txtCodigoFonte.Text = resposta; sr.Close(); data.Close(); ProcessStartInfo sInfo = new ProcessStartInfo(@"C:\Login.html"); Process.Start(sInfo); Close(); } private void Form1_Load(object sender, EventArgs e) { response = request.GetResponse(); data= response.GetResponseStream(); sr = new StreamReader(data); resposta = sr.ReadToEnd(); } } }
- Marcado como Resposta Mr. GMSOFT sexta-feira, 15 de março de 2013 13:13