Foros del Web » Programación para mayores de 30 ;) » .NET »

Cargar formularios web desde aplicacion win.

Estas en el tema de Cargar formularios web desde aplicacion win. en el foro de .NET en Foros del Web. Hola amigos. Tengo un webbrowser que me muestra bien una url. Lo que quiero hacer ahora es por medio de codigo agregarle una valor a ...
  #1 (permalink)  
Antiguo 23/09/2008, 15:10
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 24 años, 1 mes
Puntos: 19
Pregunta Cargar formularios web desde aplicacion win.

Hola amigos.

Tengo un webbrowser que me muestra bien una url. Lo que quiero hacer ahora es por medio de codigo agregarle una valor a un texbox del formulario del sitio que veo en el webbrowser y luego hacer un submit del form.
Quería saber si me pueden ayudar o por lo menos decirme como se llama esto que permite desde visual studio abrir una pagina y cargarle al formulario de la pagina un valor.
Desde mil gracias.
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #2 (permalink)  
Antiguo 23/09/2008, 15:29
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 20 años, 1 mes
Puntos: 8
Respuesta: Cargar formularios web desde aplicacion win.

Hola Trulala de cordoba


Response.Redirect("MyPagina.aspx")


Espero que te sea util.
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #3 (permalink)  
Antiguo 23/09/2008, 15:47
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 17 años, 2 meses
Puntos: 87
Respuesta: Cargar formularios web desde aplicacion win.

puedes usar

HtmlElement y hacer un Invoke algo como esto

HtmlElement el = webBrowser1.Document.All["btnI"];
if (el != null) el.InvokeMember("click");


y hacer lo mismo de los inputs o de los selects de tu pagina html para poder setearles el valor y simular el envio del formulario.

ahora que si lo quieres hacer mas optimo puedes hacer lo mismo sin tener GUI o consumo excesivo de recursos usando HttpWebRequest o un WebClient en ambos casos tendrias que usar un metodo post o get dependiendo el formulario al que quieras enviar.

es decir supongamos que quieres que tu aplicacion win envie las credenciales y simule un login en la pagina solo requieres hacer algo como esto

public void Login(string email, string password)
{
HttpWebRequest request;
HttpWebResponse response;
CookieContainer cookies;

#region Login Request;

string url = "https://tusitioweb.com/";
string data = string.Format("email={0}&pword={1}&remeber=1&action=login", email, password); // AQUI ESTA EL PUNTO CLAVE DEL ASUNTO ---- NECESITAS ENVIAR LOS PARAMETROS TAL COMO APAREZCAN EN TU FORMULARIO esto es solo un ejemplo.
byte[] encodeddata = Encoding.ASCII.GetBytes(data);
request = (HttpWebRequest)WebRequest.Create(url);
request.AllowAutoRedirect = false; // esta en falso pero puede ser verdadero por si el sitio hace un redirect o tiene una pagina en la q tengas q elegir alguna otra opcion
request.CookieContainer = new CookieContainer();
request.Method = "POST";
request.ContentType = "multipart/";
request.ContentLength = encodeddata.Length;
Stream datawriter = request.GetRequestStream();

datawriter.Write(encodeddata, 0, encodeddata.Length); // Grabamos los datos a enviar a la pagina web.
datawriter.Close();

response = null;
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch (Exception ex)
{
return ex.Message;
}

if (response.StatusCode != HttpStatusCode.Found) // si no fue exitoso el login o no esta disponible
{
Console.WriteLine("Server Unreachable");
response.Close();
request.KeepAlive = false;
return string.Empty;
}



#endregion



#region Transferido desde el login
CookieContainer mineCC = new CookieContainer();
mineCC.Add(response.Cookies);
response.Close();
string menu = string.Empty;
request = (HttpWebRequest)WebRequest.Create(address);
request.AllowAutoRedirect = true;
request.CookieContainer = mineCC;
request.KeepAlive = true;
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch (Exception ex)
{
return ex.Message;
}

#endregion



mineCC.Add(response.Cookies);

response.Close();

}
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #4 (permalink)  
Antiguo 24/09/2008, 08:07
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 24 años, 1 mes
Puntos: 19
Respuesta: Cargar formularios web desde aplicacion win.

Gracias mvazquez por tu ayuda y por responder.

Peterpay eso es mas o menos lo que estaba buscando, con esa base me sirver y para buscar info en la web, muchas gracias chicos!!!
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:03.