elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Capturar captcha del webbrowser
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Capturar captcha del webbrowser  (Leído 11,181 veces)
.:Weeds:.

Desconectado Desconectado

Mensajes: 122



Ver Perfil
Capturar captcha del webbrowser
« en: 11 Octubre 2010, 21:19 pm »

Wenas gente, he encontrado la siguiente web
Código:
http://www.cmt.es/cmt_ptl_ext/SelectOption.do?nav=estado_num
Se trata de una web que pones el número y te saca la operadora, y no parece ser fake, el get es el siguiente
Código:
http://www.cmt.es/cmt_ptl_ext/SelectOption.do?tb_numMov="NUMERO SIN COMILLAS"&tbCaptcha="CAPTCHA SIN COMILLAS"&Submit=Buscar+&validar=si&tipo=buscar&nav=estado_num&pagina=&detalles=&nombre=&download=&idDetalle=&tipo=&categoria=
Tengo pensado en un form que escribas el número y en un picturebox te muestre la captcha, rellenas los numeros de la captcha y al darle a aceptar te haga el get y te diga el número de la operadora... voi algo perdido sobre que me muestre la imagen de la captcha en el picturebox y sobretodo en sacar la operadora, en el codigo fuente no he encontrado nada.


He probado lo siguiente para sacar el captcha en un picture box
 
Código
  1. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  2. WebBrowser1.Navigate("http://www.cmt.es/cmt_ptl_ext/SelectOption.do?nav=estado_num")
  3. End Sub
  4.  
  5. Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
  6. For Each captcha As HtmlElement In WebBrowser1.Document.Images
  7. Dim turing = captcha.GetAttribute("SRC")
  8. If turing.Contains("Captcha.jpg") Then
  9. PictureBox1.Load(turing)
  10. End If
  11. Next
  12. End Sub
pero me muestra una captcha distinta  :huh:

Se os ocurre algo?  :-\
Saludos!


En línea


[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Capturar captcha del webbrowser
« Respuesta #1 en: 11 Octubre 2010, 21:54 pm »

No entiendo porque usas un control webbrowser, cuando perfectamente podrías usar HttpWebRequest/HttpWebResponse.

Pero vamos, no importa, veamos. probaste revisando la url de la variable turing a ver si ese es el contenido correcto?

Un saludo.


En línea

.:Weeds:.

Desconectado Desconectado

Mensajes: 122



Ver Perfil
Re: Capturar captcha del webbrowser
« Respuesta #2 en: 11 Octubre 2010, 22:11 pm »

Para hacerlo por HttpWebRequest/HttpWebResponse puedo hacerlo asi
Código
  1. Dim req As Net.HttpWebRequest = DirectCast(Net.HttpWebRequest.Create("http://www.cmt.es/cmt_ptl_ext/Captcha.jpg"), Net.HttpWebRequest)
  2.        Dim res As Net.HttpWebResponse = DirectCast(req.GetResponse, Net.HttpWebResponse)
  3.        Dim img As Image = New System.Drawing.Bitmap(res.GetResponseStream)
  4.        res.Close()
  5.        PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
  6.        PictureBox1.Image = img
Pero despues como inserto el valor de tb_numMov y de tbCaptcha?  :-\
En línea


.::IT::.

Desconectado Desconectado

Mensajes: 167



Ver Perfil
Re: Capturar captcha del webbrowser
« Respuesta #3 en: 11 Octubre 2010, 22:14 pm »

Código
  1. HttpWebRequest _HttpWebRequest = (HttpWebRequest)WebRequest.Create("http://www.cmt.es/cmt_ptl_ext/Captcha.jpg");
  2.  
  3. HttpWebResponse _HttpWebResponse = (HttpWebResponse)_HttpWebRequest.GetResponse();
  4.  
  5. Stream _Stream = _HttpWebResponse.GetResponseStream();
  6.  
  7. this.pictureBox1.Image = Image.FromStream(_Stream);
  8.  


Ahora cada ves que haces uan peticion ah http://www.cmt.es/cmt_ptl_ext/Captcha.jpg
pues te da un cookie por lo que necesitas uan variable de tipo CookieContainer donde guardarlo y usarlo para la peticion "POST".

seria algo como

Código
  1. _HttpWebRequest .CookieContainer = "aqui tu variable CookieContainer"
  2.  

Suerte y aqui un ejemplo de como hacer lo que te digo
http://foro.elhacker.net/net/aporte_consumir_contenido_web_en_aplicaciones_net_cvb_netasp_net-t306634.0.html
En línea

Simplemente .::IT::.
.:Weeds:.

Desconectado Desconectado

Mensajes: 122



Ver Perfil
Re: Capturar captcha del webbrowser
« Respuesta #4 en: 11 Octubre 2010, 23:02 pm »

Puff tu metodo supera mis conocimientos de largo, ademas esta en c#.net y no entiendo ni papa xD, mi idea en un principio era simple, sacar la imagen del webbrowser1 y hacer un get con la variable del numero del telefono y la variable del numero de captcha, de todas formas aun que consiga hacerlo, el resultado de la operadora de telefonos esta en un <b></b>, no tiene nada que lo identifique, creo que me tendre que dar por vencido, gracias a todos
saludos

EDITO: Si alguien quiere aportar con mucho gusto lo leere, me rindo por que lo veo imposible de realizar no por animos  >:D
« Última modificación: 12 Octubre 2010, 00:31 am por .:Weeds:. » En línea


.::IT::.

Desconectado Desconectado

Mensajes: 167



Ver Perfil
Re: Capturar captcha del webbrowser
« Respuesta #5 en: 12 Octubre 2010, 00:49 am »

Vamos hombre no te rindas no es tan dificil solo que no hay mucha info por hay pero en fin dime que numero puedo colocar para probar que es lo que devuelve esa pagina. porque soy de peru y con mi numeor no sale nada.

si fueran dos o tre numeros seria mejor para hacer pruebas.
« Última modificación: 12 Octubre 2010, 00:52 am por .::IT::. » En línea

Simplemente .::IT::.
.:Weeds:.

Desconectado Desconectado

Mensajes: 122



Ver Perfil
Re: Capturar captcha del webbrowser
« Respuesta #6 en: 12 Octubre 2010, 01:58 am »

Vamos hombre no te rindas no es tan dificil solo que no hay mucha info por hay pero en fin dime que numero puedo colocar para probar que es lo que devuelve esa pagina. porque soy de peru y con mi numeor no sale nada.

si fueran dos o tre numeros seria mejor para hacer pruebas.
todos los del 600000000 al 699999999, otra idea que tenia era desde el webbrowser cargar la imagen de la captcha desde la cache de este, pero info = 0, asi no hacia falta lo de las cookies por que lo hacia ya el webbrowser
En línea


cazique

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Capturar captcha del webbrowser
« Respuesta #7 en: 25 Noviembre 2011, 21:06 pm »

Buenas noches gente, me gustaría hacerle dos consultas sobre este mismo tema para no abrir más mensajes:

1º Como se averigua, la ruta que emplea la página una vez le das al botón enviar ? Me explico, yo ahora mismo en algunas páginas lo que hago es utilizar un:

Código
  1. www.Document.Forms(0).InvokeMember("submit")

pero veo que se puede averiguar la ruta como ponía arríba en el primer post de:

http://www.cmt.es/cmt_ptl_ext/SelectOption.do?tb_numMov="NUMERO SIN COMILLAS"&tbCaptcha="CAPTCHA SIN COMILLAS"&Submit=Buscar+&validar=si&tipo=buscar&nav=estado_num&pagina=&detalles=&nombre=&download=&idDetalle=&tipo=&categoria=

2º Esta página por ejemplo, suelen repetirse los Captcha cada X veces, pero como puedes hacer para capturar el texto cuando ese Captcha que envías es OK. Me explico, cuando el número es correcto y el captcha también, en una zona de la web aparece el siguiente texto:

Número:  6XXXXXXXX
Operador actual:  VODAFONE
Fecha: 25-nov-2011 20:53:34

Como podría capturar ese bloque para mostrarlo en mi programa ?

Un saludo y gracias de antemano.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[VB .NET] Capturar Captcha de un WebBrowser y mostrarlo en un Picturebox.
.NET (C#, VB.NET, ASP)
kub0x 1 7,699 Último mensaje 3 Noviembre 2011, 04:17 am
por .::IT::.
Alguna forma de capturar url en WebBrowser?(solucionado)
Programación Visual Basic
Senior++ 3 3,025 Último mensaje 16 Diciembre 2011, 19:21 pm
por Senior++
Capturar Captcha !!
.NET (C#, VB.NET, ASP)
TrashAmbishion 1 3,019 Último mensaje 28 Junio 2012, 11:22 am
por USLO
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines