Buenos dias amigos,
Alguien tiene una función para obtener la IP PUBLICA en Windows 7 ? Sé como hacerlo en Windows 10, pero no me funciona con Windows 7.
Cordiales saludos,
IP Publica en Windows 7
Moderator: Rathinagiri
- edufloriv
- Posts: 247
- Joined: Thu Nov 08, 2012 3:42 am
- DBs Used: DBF, MariaDB, MySQL, MSSQL, MariaDB
- Location: PERU
IP Publica en Windows 7
Eduardo Flores Rivas
LIMA - PERU
- dragancesu
- Posts: 931
- Joined: Mon Jun 24, 2013 11:53 am
- DBs Used: DBF, MySQL, Oracle
- Location: Subotica, Serbia
Re: IP Publica en Windows 7
Andrés González López
Desde Guadalajara, Jalisco. México.
Desde Guadalajara, Jalisco. México.
- Claudio Ricardo
- Posts: 367
- Joined: Tue Oct 27, 2020 3:38 am
- DBs Used: DBF, MySQL, MariaDB
- Location: Bs. As. - Argentina
Re: IP Publica en Windows 7
Hola Eduardo
Yo uso estas para local y publica:
Yo uso estas para local y publica:
Code: Select all
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Funcion para obtener la IP local de la red
// Agradecimiento a Daniel Crocciari (Brasil) por la idea.
Function GetLanIp
LOCAL aLanIp := {}, cLanIp := ""
InetInit ()
aLanIp := InetGetHosts ( NetName ())
Iif (Empty (aLanIp), aLanIp := InetGetAlias ( NetName ()), )
Iif (aLanIp [1] == "127.0.0.1", cLanIp := aLanIp [1] + " Sin coneccion a LAN", cLanIp := aLanIp [1])
InetCleanUp ()
Return cLanIp
Code: Select all
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Funcion GetPublicIp
// Hace un pedido a " dyndns.org " luego extrae solo la IP del HTML recibido.
// Retorna un string con la IP publica de la conexion a internet
// Creada por Claudio Ricardo Folgán sobre una idea de HMG Forum.
Function GetPublicIp
LOCAL cUrl, oUrl, oCli, cRes, nPosIni, nPosFin
cUrl := "http://checkip.dyndns.org/"
Begin Sequence
oUrl = TUrl ():New ( cUrl )
IF Empty( oUrl )
Break
ENDIF
oCli = TIpClientHttp ():New ( oUrl )
IF Empty ( oCli )
Break
ENDIF
oCli:nConnTimeout = 20000
IF ! oCli:Open ( oUrl )
Break
ENDIF
cRes := oCli:Read ()
oCli:Close ()
End Sequence
If .NOT. Empty (cRes)
// Desde aqui es extraer solo la IP del HTML que devolvio el DNS
nPosIni := At (":", cRes)
cRes := SubStr( cRes, nPosIni + 1) // Borro hasta los 2 puntos ( : ) mas el espacio
nPosFin := At ("<", cRes) - 1
cRes := SubStr (cRes,1,nPosFin) // Extraigo hasta el primer "Menor que" ( < )
cRes := AllTrim (cRes)
EndIf
Return Iif (Empty (cRes),"DNS no disponible !",cRes)
Corrige al sabio y lo harás más sabio, Corrige al necio y lo harás tu enemigo.
WhatsApp / Telegram: +54 911-63016162
WhatsApp / Telegram: +54 911-63016162
- edufloriv
- Posts: 247
- Joined: Thu Nov 08, 2012 3:42 am
- DBs Used: DBF, MariaDB, MySQL, MSSQL, MariaDB
- Location: PERU
Re: IP Publica en Windows 7
Hola Claudio,
Mil gracias mi amigo, tu función trabaja excelente, gracias a eso pude identificar el problema de las colgadas en el servidor MySQL remoto del hosting. Agregue un campo a la tabla "terminales" para que cada pc se identifique con su ip pública y construí un pequeño modulo de monitoreo:
Gracias a esto me pude dar cuenta que siempre se colgaba cuando la pc de un IP pública específica realizaba una operación y no la terminaba, al parecer dejaba bloqueda la tabla y el resto de terminales al tratar de acceder a la misma se colgaba.
Lo reporté a su técnico de hardware y cambiaron cableado y tarjetas de red y desde entonces no se ha colgado. Al final era un problema de hardware.
Mil gracias a todos por su ayuda. Saludos y un abrazo.
Mil gracias mi amigo, tu función trabaja excelente, gracias a eso pude identificar el problema de las colgadas en el servidor MySQL remoto del hosting. Agregue un campo a la tabla "terminales" para que cada pc se identifique con su ip pública y construí un pequeño modulo de monitoreo:
Gracias a esto me pude dar cuenta que siempre se colgaba cuando la pc de un IP pública específica realizaba una operación y no la terminaba, al parecer dejaba bloqueda la tabla y el resto de terminales al tratar de acceder a la misma se colgaba.
Lo reporté a su técnico de hardware y cambiaron cableado y tarjetas de red y desde entonces no se ha colgado. Al final era un problema de hardware.
Mil gracias a todos por su ayuda. Saludos y un abrazo.
Eduardo Flores Rivas
LIMA - PERU