Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo obtener la IP de la red externa en vb

Cómo obtener la IP de la red externa en vb

Cómo obtener el código IP de la red externa en vb:

'Obtener IP de red pública

Función de declaración privada InternetOpen Lib Alias ​​"wininet.dll" "InternetOpenA" ( _

ByVal sAgent como cadena, ByVal lAccessType como longitud, _

ByVal sProxyName como cadena, ByVal sProxyBypass como cadena, _

ByVal lFlags Mientras) Mientras

Función de declaración privada InternetOpenUrl Lib "wininet.dll" Alias ​​​​"InternetOpenUrlA" ( _

ByVal hInternetSession Mientras, ByVal sUrl Como cadena, _

ByVal sHeaders como cadena, ByVal lHeadersLength como largo, _

ByVal lFlags como largo, ByVal lContext como largo) como largo

Función de declaración privada InternetReadFile Lib "wininet. dll" ( _

ByVal hFile As Long, ByVal sBuffer As String, _

ByVal lNumBytesToRead As Long, _

lNumberOfBytesRead As Long) Como Entero

Función de declaración privada InternetCloseHandle Lib "wininet.dll" (_

ByVal hInet As Long) como entero

Const privada INTERNET_FLAG_NO_CACHE_WRITE = amp; p>Función de declaración privada URLDownloadToFile Lib "urlmon" Alias ​​​​"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

Función pública GetSub() como cadena

Dim wburl$, wburl2$, X1, X2, X3, X4

En caso de error Ir a err

wburl = " /calle

atic/customercare/yourIP.asp"

wburl2 = GetUrlFile(wburl2)

Si InStr(1, wburl2, "No se puede encontrar la página") = 0 Entonces

X3 = InStr(1, wburl2, "lt;h2gt;")

(wburl2, X3, X4 - X3)

X3 = Reemplazar(X3, "lt; h2gt;", "")

)

X3 = Reemplazar(X3, vbCrLf, "")

GetSub = X3

Salir de la función

Else

GetSub = "127.0.0.1"

Finalizar si

err:

GetSub = "127.0.0.1"

Función final

Función privada GetUrlFile(stUrl como cadena) como cadena

Dim lgInternet As Long, lgSession As Long

Dim stBuf As String * 1024

Dim inRes As Integer

Dim lgRet As Long

Dim stTotal As String

stTotal = vbNullString

lgSession = InternetOpen( "VBTagEdit", 1, vbNullString, vbNullString, 0)

Si lgSession entonces

lgInternet = InternetOpenUrl(lgSession, stUrl , vbNullString, _

0, INTERNET_FLAG_NO_CACHE_WRITE , 0)

Si lgInternet entonces

Hacer

inRes = InternetReadFile(lgInternet, stBuf, 1024, lgRet)

stTotal = stTotal amp; Mid$(stBuf, 1, lgRet)

Bucle Mientras (lgRet lt; gt; 0)

Fin Si

inRes = InternetCloseHandle(lg

Internet)

Finalizar si

GetUrlFile = stTotal

Función final

Uso:

En formulario Simplemente llame ObtenerSub.

List1.AddItem ("IP pública:" & GetSub "..").