none
App para votar por un server de Minecraft sin necesidad de acceder a la web RRS feed

  • Pregunta

  • Buenas, en mi foro MallorcaDevelopers.es/foro me han sugerido crear una app la cual tenga un textbox y un botón.

    En el textbox se introduciría tu nombre de usuario de Minecraft y con el botón confirmaría el voto.

    La página web de la que hablo es esta: http://minecraft-mp.com/server/72563/vote/

    Alguien podría decirme cómo hacerlo? Me sería de gran ayuda! Gracias!

    miércoles, 1 de marzo de 2017 22:49

Respuestas

  • EDITO: https://gyazo.com/d7760bc8f34bb3cabf9e86c55e99d205

    Ahora, podrías explicarme detalladamente cómo hay que transferir esos datos a VB?

    No es obvio. Requiere muchas horas de trabajo y estudio detallado. Todas las transferencias de datos que observas en la captura son las descargas de los varios objetos incluidos en la página. Normalmente la mayoría puede ignorarse, a no ser que los autores de la página hayan programado expresamente algo de javascript que necesariamente deba ejecutarse para que el post funcione. Si con un poco de suerte no "la han liado", entonces debería bastar con fijarse en el último post o get que ocurre en el momento exacto de pulsar el botón de envío. Esa es la petición que tienes que tratar de duplicar. Si los autores no han hecho nada para impedirlo, debería bastar con que envíes un POST con el mismo Body. Pero si requieren alguna de las cabeceras, tendrás que ir haciendo pruebas e irlas añadiendo a tu código hasta que encuentres cuáles son requeridas por el servidor de destino.

    Suele requerir bastantes conocimientos de cómo funciona el protocolo HTTP, y un buen dominio de las clases que realizan las comunicaciones en .Net, y muchas horas de trabajo y paciencia. No es algo que se pueda detallar en una breve respuesta en el foro, porque requiere ir viendo sobre la marcha lo que se captura en las comunicaciones y la forma en la que el servidor va respondiendo a lo que haces. Si estás iniciándote en programación, este no es un buen ejercicio para principiantes; requiere tener un buen conocimiento de los protocolos empleados.

    jueves, 2 de marzo de 2017 19:44

Todas las respuestas

  • Hazlo primero a mano navegando a la página de Minecraft y votando, mientras realizas una captura del tráfico de red usando la F12 del navegador. Después vete a la captura de tráfico, y examina qué es lo que se envió al servidor. Fíjate en si es un get o un post, qué va en el cuerpo de la petición, etc. Fíjate también en las cabeceras http, especialmente las cookies, porque puede ser que el servidor de destino las requiera.

    Una vez que tengas el dato de cómo es la petición exacta que hay que transmitir al destino, desde tu aplicación puedes simular una petición idéntica usando alguna de las varias clases que .NET ofrece para ello, como por ejemplo el HttpWebClient.

    jueves, 2 de marzo de 2017 8:05
  • EDITO: https://gyazo.com/d7760bc8f34bb3cabf9e86c55e99d205

    Ahora, podrías explicarme detalladamente cómo hay que transferir esos datos a VB?

    Saludos y gracias.

    • Editado Borja Arroyo jueves, 2 de marzo de 2017 18:29 Mitad del proceso completado.
    jueves, 2 de marzo de 2017 12:33
  • EDITO: https://gyazo.com/d7760bc8f34bb3cabf9e86c55e99d205

    Ahora, podrías explicarme detalladamente cómo hay que transferir esos datos a VB?

    No es obvio. Requiere muchas horas de trabajo y estudio detallado. Todas las transferencias de datos que observas en la captura son las descargas de los varios objetos incluidos en la página. Normalmente la mayoría puede ignorarse, a no ser que los autores de la página hayan programado expresamente algo de javascript que necesariamente deba ejecutarse para que el post funcione. Si con un poco de suerte no "la han liado", entonces debería bastar con fijarse en el último post o get que ocurre en el momento exacto de pulsar el botón de envío. Esa es la petición que tienes que tratar de duplicar. Si los autores no han hecho nada para impedirlo, debería bastar con que envíes un POST con el mismo Body. Pero si requieren alguna de las cabeceras, tendrás que ir haciendo pruebas e irlas añadiendo a tu código hasta que encuentres cuáles son requeridas por el servidor de destino.

    Suele requerir bastantes conocimientos de cómo funciona el protocolo HTTP, y un buen dominio de las clases que realizan las comunicaciones en .Net, y muchas horas de trabajo y paciencia. No es algo que se pueda detallar en una breve respuesta en el foro, porque requiere ir viendo sobre la marcha lo que se captura en las comunicaciones y la forma en la que el servidor va respondiendo a lo que haces. Si estás iniciándote en programación, este no es un buen ejercicio para principiantes; requiere tener un buen conocimiento de los protocolos empleados.

    jueves, 2 de marzo de 2017 19:44
  • Gracias por la rápida respuesta, saludos.
    jueves, 2 de marzo de 2017 20:28