|
Página 1 de 2
|
Saber Direccion IP Externa
Autor |
Mensaje |
Juan Luis Lopez
Usuario
Registrado: Agosto 2011
Mensajes: 35
Edad: 34 Ubicación:
|
Saber Direccion IP Externa
Necesitamos un control HttpClient y un label
PUBLIC MiIP AS String
PUBLIC SUB Form_Open()
MiHttp.url = "http://www.cual-es-mi-ip.net/"
MiHttp.get()
END
PUBLIC SUB MiHttp_Finished()
DIM Buffer AS String
IF Lof(MiHttp) THEN
READ #MiHttp, Buffer, Lof(MiHttp)
END IF
MiIP = Between(Buffer, "<span>", "</span>")
Label1.text = miip
END
FUNCTION Between(Datos AS String, Cadena1 AS String, Cadena2 AS String) AS String
DIM iinf AS Integer
DIM isup AS Integer
iinf = InStr(Datos, Cadena1) + Len(Cadena1)
isup = InStr(Datos, Cadena2, iinf)
RETURN Mid(Datos, iinf, isup - iinf)
END
PUBLIC SUB MiHttp_Connect()
Label1.text = "Conectando..."
END
Espero que os guste.
Saludos!
=================== Sube tus clases, módulos o funciones a Mi Web
No soy un completo inútil. Por lo menos sirvo de mal ejemplo
|
#1 Sabado, 20 Agosto 2011, 20:22 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Saber Direccion IP Externa
Primero muchas gracias por tu códgio, nunca habia utilizado el control httpClient.
He visto tu codigo, me parece muy interesante, pero a mi no me salia la ip, sino parte del código en html de la pagina, pero al final del label salia la ip.
Lo he ampliado un poco para que solo salga en el label la ip:
' gambas class file
PUBLIC MiIP AS String
PUBLIC SUB Form_Open()
MiHttp.url = "http://www.cual-es-mi-ip.net/"
MiHttp.get()
END
PUBLIC SUB MiHttp_Finished()
DIM Buffer AS String
DIM pos AS Integer
DIM letra AS String
DIM a AS Integer
IF Lof(MiHttp) THEN
READ #MiHttp, Buffer, Lof(MiHttp)
END IF
buffer = Between(Buffer, "<span>", "</span>")
'esta parte es la que busca el 1º caracter de ">" empezando desde el final del buffer ya recortado, para que apartir de este extraiga la ip...
FOR a = Len(buffer) TO 0 STEP -1
letra = Mid(buffer, a, 1)
IF letra = ">" THEN
pos = a + 1
a = 0
ENDIF
NEXT
'pos: es la posicion del primer caracter despues del ">"
MiIP = Mid$(Buffer, pos, Len(buffer))
label1.text = miip
END
FUNCTION Between(Datos AS String, Cadena1 AS String, Cadena2 AS String) AS String
DIM iinf AS Integer
DIM isup AS Integer
iinf = InStr(Datos, Cadena1) + Len(Cadena1)
isup = InStr(Datos, Cadena2, iinf)
RETURN Mid(Datos, iinf, isup - iinf)
END
PUBLIC SUB MiHttp_Connect()
Label1.text = "Conectando..."
END
Asi obtengo esta salida de pantalla:
Nota:
Para tener el control HttpClient, necesitamos tener el componente gb.net.curl seleccionado.
|
#2 Sabado, 20 Agosto 2011, 23:36 |
|
|
codificador
Analista Programador
Registrado: Junio 2010
Mensajes: 420
Edad: 114 Ubicación:
|
Re: Saber Direccion IP Externa
|
#3 Domingo, 21 Agosto 2011, 03:34 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Saber Direccion IP Externa
codificador
La verdad es que si se ahorra codigo...
Pero bueno, lo útil es poder analizar una pagina web y encontrar la información que necesites....
Saludos
|
#4 Domingo, 21 Agosto 2011, 07:53 |
|
|
BrunoIV
|
Re: Saber Direccion IP Externa
Codificador WINS..xD
|
#5 Domingo, 21 Agosto 2011, 09:34 |
|
|
estrella_de_galicia
Programador
Registrado: Enero 2010
Mensajes: 110
Edad: 41 Ubicación: Terrassa
|
Re: Saber Direccion IP Externa
mmm Esto está más currado que lo que yo hice en su dia...
Aqui utilice de por medio el FTP y WGET
http://edrossuse.blogspot.com/2011/...ion-ip-sin.html
=================== Saludos / Best Regards
Pedro Aguilar
http://edrossuse.blogspot.com
Desarrollador de LNXGEST
|
#6 Domingo, 21 Agosto 2011, 11:48 |
|
|
geaplanet
Programador
Registrado: Febrero 2010
Mensajes: 102
Edad: 43
|
Re: Saber Direccion IP Externa
|
#7 Domingo, 21 Agosto 2011, 12:51 |
|
|
Juan Luis Lopez
Usuario
Registrado: Agosto 2011
Mensajes: 35
Edad: 34 Ubicación:
|
Re: Saber Direccion IP Externa
Me gusta mas la opcion de codificador asi no tienes que andar extrayendo codigo Html de la pagina.
Habría alguna forma de que se ponga en un panel de ubuntu?
=================== Sube tus clases, módulos o funciones a Mi Web
No soy un completo inútil. Por lo menos sirvo de mal ejemplo
|
#8 Domingo, 21 Agosto 2011, 13:49 |
|
|
razaAztk
aztk crux
Analista Programador
Registrado: Enero 2010
Mensajes: 340
Edad: 35 Ubicación: Tenochtitlan
|
Re: Saber Direccion IP Externa
Me gusta mas la opcion de codificador asi no tienes que andar extrayendo codigo Html de la pagina.
Habría alguna forma de que se ponga en un panel de ubuntu?
Aquí dejo una primera versión de un programita que por medio de un trayicon muestra la IP pública en el área de notificaciones de un panel.
El dato de la IP pública se actualiza cada 30 minutos, pero ese valor se puede cambiar, naturalmente, desde el código. Aunque una futura mejora sería el tener una ventana de Settings. Otra mejora, sería poder actualizar el valor de la IP en el momento que uno lo quiera......... pero esas mejoras ya se las dejo a quien le pueda servir este pequeño código.
Por cierto, los elementos fueron creados totalmente por código, como que hoy estaba inspirado, jejeje. Se parece mucho a python. Lo malo es que cuando mando el QUIT me aparece una advertencia:
WARNING: 9 allocation(s) non freed.
Alguien sabe como puedo liberar la memoria?
Aquí el código, que está contenido en un módulo y que está además como startup class.
También necesitan tener habilitado el componente net.curl
Saludos!
|
#9 Jueves, 01 Septiembre 2011, 23:50 |
|
|
razaAztk
aztk crux
Analista Programador
Registrado: Enero 2010
Mensajes: 340
Edad: 35 Ubicación: Tenochtitlan
|
Re: Saber Direccion IP Externa
Hey!
Pude ponerlo en un script gambas, je! Casi con ningún cambio.
He aquí el script, pasen el código a un fichero de texto plano, guardenlo y asignenle permiso de ejecución.
Le he agregado unas cuantas cosillas de más, entre ellas el poder invocarlo con el tiempo de actualización (en ms) que quieran:
Saludos!
|
#10 Viernes, 02 Septiembre 2011, 02:02 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 2
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|