Título: enviar datos de visual basic a una pagina web Publicado por: TheWarrior en 29 Agosto 2007, 23:27 pm quisiera saber como puedo enviar datos de vb a una pagina web X ejem. tengo caja de texto (Nombre) y que el contenido de esa caja de texto pase www.cualquierpagina.com a una de las casillas de esa pagina.
no se si me explique bien cualquier ayuda sera bienvenida de antemano muchas gracias ;D Título: Re: enviar datos de visual basic a una pagina web Publicado por: HaDeS, - en 29 Agosto 2007, 23:39 pm Queres que los datos se envien al servidor? o simplemente poner los datos en las cajas de texto :P?
Si es la primera me se la respuesta, si es la segunda tendre que buscarla.. saludos ;) Título: Re: enviar datos de visual basic a una pagina web Publicado por: TheWarrior en 29 Agosto 2007, 23:45 pm Es la primera XD
Título: Re: enviar datos de visual basic a una pagina web Publicado por: HaDeS, - en 29 Agosto 2007, 23:54 pm ya te doy la respuesta :P estoy elaborando manualcillo xD
Título: Re: enviar datos de visual basic a una pagina web Publicado por: HaDeS, - en 30 Agosto 2007, 00:56 am Ya esta:
Bueno, es un rollo interesante, tenemos que conocer muy bien la estructura de una peticion HTTP primero miremos con el metodo GET y luego con el POST Metodo GET. 1er paso: Identificar Variables Entremos a mirar cualquier pagina, en este caso la pagina que valida los html (http://validator.w3.org/) y en esta localizamos en el codigo fuente la parte de los datos del formulario: Código Las variables en este caso usadas para la peticion es unicamente una: "uri", y el contenido es la web que queremos validar. El "Action" define a que pagina se le pasan los parametros, y el "Method" el metodo usado, puede ser GET o POST. En este caso GET. Cuando hacemos click al boton de Check, lo que pasa es que estas variables son enviadas usando la URL. Queda entonces asi: http://validator.w3.org/check?uri=http://web 2do paso: Metodo GET en peticiones http La estructura para enviar datos por metodo get es el siguiente: Código: GET /pagina?var1=xxx&var2=xxx HTTP/1.1 3er paso: Armando el codigo en visual Vamos a poner un componente Winsock, dos cajas de texto, dos botones y un timer: Winsock: Para enviar datos al servidor Caja1: Contiene variable 1 que se va a pasar por el GET = Multiline a true, para soportar varias lineas Caja2: Recibe la respuesta del servidor = Propiedad enabled a False Boton1: Conecta Boton2: Envia datos Timer: Para vigilar el estado del winsock = Intervalo a 500 milisegundos Código
Metodo POST: 1er paso: Identificar variables Al igual que el anterior caso, vamos a ver una pagina para poder enviar el post, en este caso quiero hacerle post a elhacker.net en un script php que tiene para cifrar cosas :P, nos vamos a http://elhacker.net/sneak.php En este caso vemos un codigo diferente al anterior: Código Ahora, lo enviado es lo que vamos a codificar, probemos con "HaDeS", text=HaDeS El name cryptmethod es el metodo que vamos a elegir para cifrar el contenido, cryptmethod=md5 Y enviamos igualmente el valor del submit, submit=Codificar La peticion entonces seria: text=HaDeS&cryptmethod=md5&submit=Codificar 2do paso: Metodo Post en peticiones http La estructura del metodo post va asi: Código: POST /pagina HTTP/1.1 3er paso: Armando el codigo en visual Vamos a poner el mismo codigo anterior, pero modificando la peticion... Código
Y listo, creo que eso es, ya si queres hacer todo automatico con el winsock, podes dividir la respuesta en lineas, analizando cada linea, sacas las variables y el metodo, y aplicas lo de arriba saludos :P Título: Re: enviar datos de visual basic a una pagina web Publicado por: Kizar en 30 Agosto 2007, 03:36 am Es bastante interesante el protocolo html, las cabeceras y demas, pero sino se quiere complicar que use el control de IE con el que puede rellenar formularios y mandarlos en dos lineas. Busca en este subforo que e puesto algun code.
Título: Re: enviar datos de visual basic a una pagina web Publicado por: HaDeS, - en 30 Agosto 2007, 04:09 am Es bastante interesante el protocolo html, las cabeceras y demas, pero sino se quiere complicar que use el control de IE con el que puede rellenar formularios y mandarlos en dos lineas. Busca en este subforo que e puesto algun code. No es por nada, pero eso que escribiste sono muy mediocre, me parece que la mejor forma de aprender algo es exprimiendolo hasta el fondo, no se trata de coger componentes que ya estan hechos y hacer una simple linea de codigo e indicarle que use tal evento de tal componente. Y no creo tampoco que TheWarrior se interese por cosas simples. Entonces mejor me dicen no vuelvo a hacer manualcillos, porque no voy a estar botando el tiempo como lo hice haciendo eso por personas que solo se interesan por lo facil.Saludos ;) Título: Re: enviar datos de visual basic a una pagina web Publicado por: LeandroA en 30 Agosto 2007, 04:50 am Estoy completamente deacuerdo con HaDeS, la forma mas profesional de hacer estas cosas es de esta forma, porque? al utilizar las librerias del IE tanto sea por apis wininet o el mismo control webbrowser o el Inet (MSInet.ocx), quizas estas nos puedan simplificar un poco las cosas, pero estamos perdiendo mucha informacion como ser las cabeseras y el control de las cosas que pasan de por medio, otra es que quedamos parado hasta que estos controles o apis nos devuelvan una respuesta, tomen como ejemplo un cliente ftp echo con las apis del wininet, como veran nuestro programa se va a ir colgando por cada peticion que se envie, y porque con los programas ftp profecionales no pasa esto? pues por la sencilla razón de que utilizan este metodo (obio no en el protocolo fpt).
y bien muchas otras rasones mas, y si bien muchos dirian pero el control winsock no esta en todas las pc. y los demas si, pues si quieren hacer algo mas profesional aun no dependan de este ocx y utilizen las apis ws2_32.dll Felizitaciones HaDeS por el Manual una observacion creo que esta linea seria mejor asi If InStr(1, Datos, vbCrLf & vbCrLf) <> 0 And Flag = False Then Flag =true puse Flag en el general como una variable boolean porque me a pasado en ocasiones que la cabesera termina de llegar en el segundo paquete entonces esta condicion no se cumpliria And InStr(1, Datos, "HTTP/1.1 200 OK" Saludos Título: Re: enviar datos de visual basic a una pagina web Publicado por: Carloswaldo en 30 Agosto 2007, 05:05 am Totalmente de acuerdo con HaDeS, - y LeandroA, lo mejor es aprender desde el fondo, yo ya toy analizando el codigo haber que puedo aprender (si apreciamos tu trabajo HaDeS no te preocupes :P)
c-ya :P Título: Re: enviar datos de visual basic a una pagina web Publicado por: Kizar en 30 Agosto 2007, 16:03 pm Para aprender desde el fondo, no useis el winsock que es un ocx mas prefabricado.
Para hacer peticiones http usar las apis que os permiten mandar cabeceras, elegir el metodo, cookies, recibir la pagina y demas... Código: Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long http://articulos.conclase.net/jm/prog/cpp/wininethttp_2.html Título: Re: enviar datos de visual basic a una pagina web Publicado por: TheWarrior en 30 Agosto 2007, 16:20 pm Gracias Hades por hacer ese pequeño manual voy a probarlo :D
Título: Re: enviar datos de visual basic a una pagina web Publicado por: cark en 31 Agosto 2007, 01:12 am HaDeS! felicitaciones!! tu sigue! yo aprendo!!! je,je
xenon-hades sigo con mi pinito de visual basic y mi troyanito!!!! agradezco a quien explica por que de esa manera se lo que se! es poco , pero me lo contaron!!! no discutan que hay gente para todo!! KiZaR dio una solución. Se agradece "y a no pelear colegas!! que a mi me interesa lo difícil y lo fácil!! cuando las cosas son fácil de hacer, ya ..... me llama lo difícil!! jo justo que me encontré lo difícil apareció!!! ........ ME quedo con lo difícil!! pero que no falte lo fácil que es lo que hace que te desahogues mientras lo logras. saludos .- cark ;) Título: Re: enviar datos de visual basic a una pagina web Publicado por: LeandroA en 31 Agosto 2007, 01:59 am Para aprender desde el fondo, no useis el winsock que es un ocx mas prefabricado. Para hacer peticiones http usar las apis que os permiten mandar cabeceras, elegir el metodo, cookies, recibir la pagina y demas... Código: Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long http://articulos.conclase.net/jm/prog/cpp/wininethttp_2.html Sigo sosteniendo que el api wininet es un simplificador de todo esto, tanto en el protocolo http como el ftp, no quiero discutir mal por todo esto, es mi punto de vista, esta api es propia del iexplorer, incluso maneja el mismo canche, pero que quede claro que no es la forma nativa de hacer las cosas, esto no ayuda a entender el protoclo solo ayuda a entender a usar el api wininet (no digo que este mal, nunca viene de mas) , pero el tema es que si algun dia quieres hacer un server y no un cliente, no vas a entender como se hace porque solo aprendiste a usar un simplificador y nunca aprendiste el protocolo. Saludos Título: Re: enviar datos de visual basic a una pagina web Publicado por: HaDeS, - en 31 Agosto 2007, 02:02 am Para aprender desde el fondo, no useis el winsock que es un ocx mas prefabricado. Para hacer peticiones http usar las apis que os permiten mandar cabeceras, elegir el metodo, cookies, recibir la pagina y demas... Código: Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long http://articulos.conclase.net/jm/prog/cpp/wininethttp_2.html Sigo sosteniendo que el api wininet es un simplificador de todo esto, tanto en el protocolo http como el ftp, no quiero discutir mal por todo esto, es mi punto de vista, esta api es propia del iexplorer, incluso maneja el mismo canche, pero que quede claro que no es la forma nativa de hacer las cosas, esto no ayuda a entender el protoclo solo ayuda a entender a usar el api wininet (no digo que este mal, nunca viene de mas) , pero el tema es que si algun dia quieres hacer un server y no un cliente, no vas a entender como se hace porque solo aprendiste a usar un simplificador y nunca aprendiste el protocolo. Saludos Esto lo iva a decir pero te adelantaste :P, lo mejor es usar directamente las apis que contiene la libreria wsock32.dll, ya que esta es la que trae por defecto el windows, como lo es recv, Send, setsockopt, getsockopt, entre otras. Mi intencion era solo mostrar como manejar las cabeceras en las peticiones http. Si hago el ejemplo con las apis de wsock32.dll, quedaria lo mismo sino que con mas codigo :P saludos y bueno, gracias ;) Título: Re: enviar datos de visual basic a una pagina web Publicado por: pablincn en 23 Octubre 2007, 00:41 am hola a todos quiero saber como puedo pasar o mantener las variable de sesion como el user y passs en el php si cuando ejecuto el winsock se cierra la conexion si alguien me ayuda gracias
Título: Re: enviar datos de visual basic a una pagina web Publicado por: HaDeS, - en 23 Octubre 2007, 02:25 am Bueno, es bastante facil, lo que tenes que hacer es coger la sesion que te manda el servidor en la cabecera http, cuando te manda el set-cookie, te manda un identificador que se llama set-cookie: PHPSESSID...
lo que tenes que hacer es declarar una variable globalmente, la sesion la guardas ahi, y cada vez que haces un request a la pagina pones cookie: PHPSESSID=sesion mira este codigo que hice: Código espero te sirva saludos ;) Título: Re: enviar datos de visual basic a una pagina web Publicado por: pablincn en 25 Octubre 2007, 00:30 am gracias por la ayuda si me sirvio sigue asi
Título: Re: enviar datos de visual basic a una pagina web Publicado por: pablincn en 20 Marzo 2008, 17:09 pm que tal quisiera que me ayuden, estoy conectando el winsock a una pagina www.dequito.com pero no conecta, no se que estoy haciendo mal, le conecte con la ip y funciono pero quiero conectar con el dominio
saludos Título: Re: enviar datos de visual basic a una pagina web Publicado por: Sancho.Mazorka en 20 Marzo 2008, 19:04 pm Yo gane el concurso de aplicaciones 2007 del foro, presentando un servidor web, el Xeon Web Server, tiene lo que ustedes necesitan, maneja cabeceras, crea cabeceras, lee PHP (pero no lo interpreta), y funciona como mini servidor casero, para lo que ustedes necesitan es suficiente y espero les sirva.
Link del Concurso: http://foro.elhacker.net/index.php/topic,171903.0.html (http://foro.elhacker.net/index.php/topic,171903.0.html) Link del Xeon Web Server: http://rapidshare.com/files/45487670/Xeon_Web_Server.zip (http://rapidshare.com/files/45487670/Xeon_Web_Server.zip) Espero les sirva de ayuda! Sancho.Mazorka :¬¬ Título: Re: enviar datos de visual basic a una pagina web Publicado por: pablincn en 20 Marzo 2008, 20:48 pm gracias pero no me sivio lo que quiero especificamente es conectarme a una direccion de internet (dominio) o leer el html que genera esa pagina
gracias Título: Re: enviar datos de visual basic a una pagina web Publicado por: HaDeS, - en 21 Marzo 2008, 00:56 am Hmm, probemos:
Código Lo que hace es un loop en el que comprueba si el estado del winsock es conectado, si es conectado muestra el mensaje de que se ha conectado con éxito, y si el estado no es conectado mientras se hace el bucle, comprueba si no han pasado mas de cinco segundos, lo puse arbitrario, porque creo que cinco segundos es mas o menos lo que debe tardar en realizarce la sola conexión, si te sale que es imposible conectarse, y con la página que diste quizas sea un error en una librería de código de tu compu, o reglas del firewall, en fin. Si te conecta lo que queres decir es que no te está retornando el código html de la página. Para ello nos debemos fijar y seguir el protocolo: GET /recurso HTTP/1.1 Host: www.dequito.com Connection: Close en visual: Código Todo el code y eso lo hice sin probar, así que puede que hayan errores, espero que no :P. Mira haber si eso te sirve, sino es así, hace mucho publique acá un minimanual de este tipo de conexiones, quizas te sirva Acá el link: http://foro.elhacker.net/index.php/topic,186798.0.html Saludos Título: Re: enviar datos de visual basic a una pagina web Publicado por: gracygracy en 20 Septiembre 2010, 01:32 am hola, necesito hacer un programa en Visual Basic, que me permita enviar desde una interfaz de usuario datos a un modulo wifi (conociendo su direccion IP). Por lo menos si en la interfaz presiono un boton, se enviara la cadena de caracteres 123456abcdef al modulo wifi, y si presiono otro boton se enviara otra cosa!... Alguien podria ayudarme con esto por favor!!!...
Título: Re: enviar datos de visual basic a una pagina web Publicado por: BlackZeroX en 20 Septiembre 2010, 06:16 am .
Que llevas dehcho, nos e hacen trabajos... sin dinero no vaila el perro. Dulces Luans!¡. Título: Re: enviar datos de visual basic a una pagina web Publicado por: Carloswaldo en 20 Septiembre 2010, 06:42 am Y además se hace un nuevo post, no se abre este tan viejo.
|