Saltar al contenido principal

 none
Automatizar aplicacion RRS feed

  • Pregunta

  • Hola buenas tardes. 

    Tengo una aplicación de escritorio que me inserta anuncios, funciona de la siguiente manera

    se compone de un form dentro de el tengo un webbrowser y tres combos, en el primer combo cargas el cliente una vez seleccionado se carga el combo 2 con los anuncios del cliente previamente seleccionado, seleccionas un anuncio, a continuación en el combo tres seleccionas la pagina donde se inserta, una vez seleccionada la pagina carga en el webbrowser y se inserta el anuncio, luego manualmente meto el codigo capcha y la imagen del anuncio esto ultimo no eh conseguido de momento que me lo haga automatico.

    la idea seria que al darle a un botón el soft hiciera esto automatico sin mostrar el webbrowser y mostrando en el form una caja con un texbox un picturebox y un boton por cada anuncio que se valla insertando me crearia una caja con la imagen capcha y asi consecutivamente, asi eel operador de la aplicacion solo va escribiendo los codigos y aceptando, esto tendria que hacer una secuencia ya que un cliente tiene hasta 100 anuncios diarios a lo largo del dia.

    osea cliente 1 anuncio1 categoria 1 insertar 

     cliente 2 anuncio1 categoria 1 insertar 

    cliente 1 anuncio 2 categoria 1 insertar

    etc...

    alguna idea consejo opinión que me deis de como puedo relizar esto ?

    muchas gracias por la ayuda

    Un saludo a todos


    Christian
    miércoles, 17 de agosto de 2011 15:13

Respuestas

  • Hola Christian, 

    Ya se que no es una respuesta, e imagino que ya habrás barajado esa opción, pero yo por si acaso pregunto: ¿has pensado en solicitar al propietario de la página de anuncios que te de un webservice para que puedas insertarlos sin tener que "guarrear" con un webbrowser? 

    El sistema que te has creado con el webbrowser fallará en cuanto hagan un mínimo cambio en la página donde insertas los anuncios y hoy en día ya no se suele hacer así, de hecho el captcha está para evitar eso mismo que estás haciendo. Si consigues que te den un servicio web u otra api para acceder a su sistema no tendrías que andar con trucos raros para poder insertar la información.

    Bueno, dicho esto, una opción es que te montes tu el POST que hace el formulario, en lugar de dejar que sea el webbrowser utilizando la clase http://msdn.microsoft.com/es-es/library/system.net.httpwebrequest.aspx.

    Puedes leer el html que te devuelve la página en cuestión, buscar el captcha, obtener la imagen del captcha, pedir los datos en tu formulario, montar todo el "churro" que tienes que enviar por POST y enviarlo con la clase httpwebrequest de nuevo. Llevará mucho trabajo, pues tienes buscar los elementos dentro del html (puedes usar http://htmlagilitypack.codeplex.com/), pero no tendrás que mostrar la página en el webbrowser ya que el código que mandarás por POST lo montas tu.

    Viene a ser como montarse un IExplorer por tu cuenta y mostrar sólo lo que te parezca con controles tuyos. Requiere conocimientos avanzados de http, pero puedes ayudarte de http://www.fiddler2.com/fiddler2/ para ver qué está pasando por el canal e intentar crear tu el "churro".

    Con .Net tienes todas las herramientas necesarias para hacerlo, pero insisto en lo primero que te he comentado, intenta llegar a algún acuerdo para que te dejen utilizar una api o servicio, te ahorrarás un desarrollo de meses que igual tienes que tirar al cabo de una semana porque los propietarios de la página han cambiado el diseño de su web.

    Un saludo,

    -Juanma

     


    Juan Manuel Servera
    twitter: @jmservera
    mi blog: http://jmservera.wordpress.com
    Únete al grupo de WP7 en LinkedIn
    MCPD WP7 Developer - MCTS Sharepoint 2010 Application Development
    miércoles, 17 de agosto de 2011 19:42
  • Hola Christian, 

    Veo después de mucho tiempo que has elegido un buen camino, tal como te dice Juanma lo del Webbrowser es una locura. Analiza tambien esta librería, me consta que es bastante buena.

     

    https://github.com/hhariri/EasyHttp/tree/master/src/EasyHttp

     

    Saludos,


    phurtado
    miércoles, 17 de agosto de 2011 21:59
    Moderador

Todas las respuestas

  • Hola Christian, 

    Ya se que no es una respuesta, e imagino que ya habrás barajado esa opción, pero yo por si acaso pregunto: ¿has pensado en solicitar al propietario de la página de anuncios que te de un webservice para que puedas insertarlos sin tener que "guarrear" con un webbrowser? 

    El sistema que te has creado con el webbrowser fallará en cuanto hagan un mínimo cambio en la página donde insertas los anuncios y hoy en día ya no se suele hacer así, de hecho el captcha está para evitar eso mismo que estás haciendo. Si consigues que te den un servicio web u otra api para acceder a su sistema no tendrías que andar con trucos raros para poder insertar la información.

    Bueno, dicho esto, una opción es que te montes tu el POST que hace el formulario, en lugar de dejar que sea el webbrowser utilizando la clase http://msdn.microsoft.com/es-es/library/system.net.httpwebrequest.aspx.

    Puedes leer el html que te devuelve la página en cuestión, buscar el captcha, obtener la imagen del captcha, pedir los datos en tu formulario, montar todo el "churro" que tienes que enviar por POST y enviarlo con la clase httpwebrequest de nuevo. Llevará mucho trabajo, pues tienes buscar los elementos dentro del html (puedes usar http://htmlagilitypack.codeplex.com/), pero no tendrás que mostrar la página en el webbrowser ya que el código que mandarás por POST lo montas tu.

    Viene a ser como montarse un IExplorer por tu cuenta y mostrar sólo lo que te parezca con controles tuyos. Requiere conocimientos avanzados de http, pero puedes ayudarte de http://www.fiddler2.com/fiddler2/ para ver qué está pasando por el canal e intentar crear tu el "churro".

    Con .Net tienes todas las herramientas necesarias para hacerlo, pero insisto en lo primero que te he comentado, intenta llegar a algún acuerdo para que te dejen utilizar una api o servicio, te ahorrarás un desarrollo de meses que igual tienes que tirar al cabo de una semana porque los propietarios de la página han cambiado el diseño de su web.

    Un saludo,

    -Juanma

     


    Juan Manuel Servera
    twitter: @jmservera
    mi blog: http://jmservera.wordpress.com
    Únete al grupo de WP7 en LinkedIn
    MCPD WP7 Developer - MCTS Sharepoint 2010 Application Development
    miércoles, 17 de agosto de 2011 19:42
  • Hola Juanma, tienes razon, pero ya lo solicitamos en su dia, pero no estan por la labor, a sique solo me queda hacerlo yo, va a ser bastante jodido pero merece la pena, al fin de cuentas me pagan por ello, cambios en esta pagina lo dudo que a corto plazo los aya, ya que son enormes, pero bueno.. que le voy hacer, a luchar queda voy a revisar la documentacion que me envias, y me pondre en ello, veremos el resultado que queda, jejeje, 

    muchas gracias

    un saludo


    Christian
    miércoles, 17 de agosto de 2011 20:50
  • Hola Christian, 

    Veo después de mucho tiempo que has elegido un buen camino, tal como te dice Juanma lo del Webbrowser es una locura. Analiza tambien esta librería, me consta que es bastante buena.

     

    https://github.com/hhariri/EasyHttp/tree/master/src/EasyHttp

     

    Saludos,


    phurtado
    miércoles, 17 de agosto de 2011 21:59
    Moderador