Bot para Iniciar Sesion en un Formulario Web

Bot para Iniciar Sesion en un Formulario Web

Bot para Iniciar Sesion en un Formulario Web
5 (100%) 2 votos

En este ocasión veremos como programarnos un bot para iniciar session en un formulario web y obtener información una vez logeado en el sistema, en concreto lo haremos en un formulario de mitelcel.com para consultar el saldo de una sim. El Bot lo programaremos en C# y haremos uso de las clases HttpWebRequest y HttpWebResponse, asi como de CookieContainer para mantener la cookie de inicio de sesion, este articulo esta orientado para que sepas como hacer que funcione en cualquier formulario web haciendo uso de la herramienta de Chrome – Chrome Developer Tools – observando las cabeceras enviadas en cada petición web. Si quieres automatizar cualquier proceso web para tus programas y no sabes como iniciar sesion en un sitio esta es tu solución! Acompáñanos!

Escenario

Ingresa a MiTelcel.com y veras que es una pagina de Telcel ( compañia celular acá en México) en donde podemos dar de alta un numero y tener una cuenta, desde la cual podemos hacer varias operaciones con nuestra linea, una de ellas es la consulta de saldo.

bot para iniciar sesion en un formulario web mitelcel 1

 

bot para iniciar sesion en un formulario web mitelcel 2


Suscríbete!

Suscríbete a nuestra lista de correo y recíbe los últimos contenidos directamente en tu bandeja de correo electrónico, puedes elegir únicamente de que categoria del blog quieres recibir contenido.

Suscríbeme

 

Asi que lo que haremos sera una aplicacion programada en C# para iniciar sesion en MiTelcel.com ademas de obtener el saldo y vigencia de una linea ya registrada.

Chrome Developer Tools – Nuestro Plan –

Si nos vamos a la pagina donde esta nuestro formulario web nos encontraremos con el boton de enviar informacion, si usamos el navegador google chrome podemos hacer click derecho en este boton y dar click en Inspeccionar elemento, despues en el panel de herramientas que nos aparece nos cambiamos a Network, ahora damos click en el boton de login ( despues de obviamente haber escrito nuestras credenciales :yum: )

bot para iniciar sesion en un formulario web mitelcel 3

 

Una vez que hemos iniciado sesión veremos en nuestro panel de herramientas de desarrolladores de chrome ( el panel del que te hable antes pues :yum: ) el historico de los eventos de red que  ocasiono nuestro click en login..

 bot para iniciar sesion en un formulario web mitelcel 4

 

En el panel lateral izquierdo nos vamos al primer elemento de la lista llamado auth y en el panel de la derecha nos aseguramos que estamos en Headers, ahora toma nota de estas cabeceras que son las que enviaremos en nuestra peticion en c# para iniciar sesion..

HttpWebRequest y HttpWebResponse

Estas clases de C# nos ayudaran a enviar peticiones y recibir respuestas a sitios web de manera facil y comoda, lo primero sera conectarse a mitelcel enviando las cabeceras que vimos en la seccion anterior

Ahora para enviar nuestra informacion de usuario y contraseña necesitamos lo siguiente:

donde usuario y contraseña es tu informacion a llenar y j_username / j_password son los nombres de los controles html del formulario.

Si imprimieras el contenido de lectorGalleta seguro que recibes el codigo html de tu pagina ya logueado

pero no mantendrias la sesion, para mantenerla necesitamos del objeto CookieContainer..

¿Quieres informacion mas detallada de las clases HttpWebRequest y HttpWebResponse?

Manteniendo la Sesion

Teniendo la URL de la pagina que quieres obtener la informacion ( en mi caso sera https://www.mitelcel.com/mitelcel/micuenta/saldo para obtener el saldo de la sim ), declara un objeto CookieContainer asi:

e incluyelo en las cabeceras a enviar:

Como puedes ver ahora las cabeceras a enviar varian, estas las obtuvimos mediante el mismo procedimiento anterior en el cual inspeccionamos el elemento que nos llevaba a la pagina de consulta de saldo mediante la herramienta de desarrolladores de chrome.

bot para iniciar sesion en un formulario web mitelcel 5

Ahora al realizar la primer conexion la cookie se guardara en nuestro contenedor de cookies, para conectarte a cualquier pagina ya logueado solo necesitas agregar esta cookie en las cabeceras a enviar de igual forma a como lo hiciste antes para loguearte y obtener la cookie :sunglasses:

En resumen para crear un bot para iniciar sesion en un formulario web primero necesitaras conectarte a la pagina de login para obtener la cookie de sesion, luego incluir esta cookie a cualquier pagina que quieras acceder ya logueado.

Para obtener la respuesta solo escribimos lo siguiente:

donde la cadena html contendra el html de la pagina que solicitamos y desde ahi facilmente podremos obtener la informacion que buscamos.

Bot para Iniciar Sesion en un Formulario Web de MiTelcel y obtener el Saldo de una Sim

bot en C# para iniciar sesion formulario mitelcel final

I➨ Bot para Iniciar Sesion en un Formulario Web

Bot para Iniciar Sesion en un Formulario Web
5 (100%) 2 votos

Dejar un comentario

13 Comments on "Bot para Iniciar Sesion en un Formulario Web"

avatar
  Subscribe  
Notify of
Rodri
Guest

Hola.
1) Cómo sabes si ya estás logueado?
2) Cómo enviar las peticiones ajax, (las estoy capturando bien), veo que generan un token cuando las envian.

https://ibb.co/gj6xYx

Rodri
Guest

Se olvido decir que se que no se puede hacer de forma directa, pero podrías indicarme alguna manera de enviar y recibir peticiones sin necesidad de usar un WebBrowser? He creado bots mediante el navegador Awesomium, pero ahora quisiera usar sin tener que cargar todo un navegador y sin interacción con el usuario.

Reinaldo
Guest

He probado el codigo y se logonea pero no navega a la siguiente pagina, te agradeceria un millon si puedes ayudarme

JLP
Guest

hola podrias pasarme el source code no logro entenderlo del todo apenas estoy aprendiendo

Antonio Sanchez
Guest

y podrías subir un link para ver el código fuente?

NetLuis
Guest

Thanks… Super code….

Nico
Guest

Buenas, q librerias hay q usar???

salvador barajas
Guest

Muy buen post jonaa, me dejas tarea por hacer

Jonathan Melgoza
Guest

Hola Salvador,

Espero que hayas podido realizar el ejercicio, sino es asi hazmelo saber.

Saludos!

RAFAEL
Guest

TE COMENTO MI AMIGO QUE AMI NO ME RESULTO LA SOLUCION ESPERO ME PUEDAS AYUDAR, SALUDOS. ATTE RALOVA.RRC@GMAIL.COM