mIP (pequeño modulo para ver el IP publico)

Iniciado por SquX, 7 Marzo 2010, 02:10 AM

0 Miembros y 1 Visitante están viendo este tema.

SquX

Bueno pues hice este pequeño modulo para comprobar la IP publica desde el VB conectándose a la web de: ip-adress.com y descargando el código de fuente. No es ninguna ciencia pero a mas de alguien le sirve.

Código (vb) [Seleccionar]


Option Explicit

'--------------------------------------------
'   Autor   : SquX
'   Nombre  : mIP
'   Funcion : Optener el IP publico
'--------------------------------------------

Private Const INTERNET_OPEN_TYPE_DIRECT             As Integer = 1
Private Const INTERNET_OPEN_TYPE_PROXY              As Integer = 3
Private Const INTERNET_FLAG_RELOAD                  As Long = &H80000000
Private Const INTERNET_FLAG_NO_CACHE_WRITE          As Long = &H4000000

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
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer
Private Declare Function InternetReadFile Lib "wininet" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Private Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long

Public Function sIP() As String

   sIP = Dividir(Code("http://www.ip-adress.com"), "<h2>My IP address is: ", "</h2>")

End Function

Public Function Code(sURL As String) As String ' // Basado en ejemplo en recursosvisualbasic.com.ar

   Dim sBuff   As String * 100
   Dim sOpen   As Long
   Dim sFile   As Long
   Dim sRet    As Long
   
   sOpen = InternetOpen("SquX", INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)
   
   If sOpen <> 0 Then
   
       sFile = InternetOpenUrl(sOpen, sURL, vbNullString, ByVal 0&, INTERNET_FLAG_NO_CACHE_WRITE, ByVal 0&)
       
       If sFile <> 0 Then
       
           Do
               
               Call InternetReadFile(sFile, sBuff, 100, sRet)
               
               Code = Code & Mid$(sBuff, 1, sRet)
               
               If sRet = 0 Then
               
                   Exit Do
                   
               End If
               
           Loop
           
           Call InternetCloseHandle(sFile)
           Call InternetCloseHandle(sOpen)
           
       End If
       
   End If
           
End Function

Public Function Dividir(Texto As String, Delimitador1 As String, Delimitador2 As String) As String

   Dim sData() As String
   
   sData() = Split(Texto, Delimitador1)
   sData() = Split(sData(1), Delimitador2)
   
   Dividir = sData(0)
   
End Function



Uso:

Código (vb) [Seleccionar]


Option Explicit

Private Const MB_ICONINFORMATION            As Long = &H40&

Private Declare Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long

Private Sub Form_Load()

   Call MessageBox(Me.hwnd, "Mi ip es: " & sIP, "IP", MB_ICONINFORMATION)

End Sub



Espero criticas :)

BlackZeroX

esto ya lo publicaron en este mismo subforo...

Dulce Infierno Lunar!¡.
The Dark Shadow is my passion.

cobein

Hay un error de logica ahi.


            Call InternetCloseHandle(sFile)
            Rem Call InternetCloseHandle(sOpen)

        End If
            Call InternetCloseHandle(sOpen) <---- aca va
    End If
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.


Karcrack

Cita de: SecMAM en  7 Marzo 2010, 21:31 PM
Yo en lo personal la obtengo desde el SMTP de hotmail o gmail :P

http://secmam.blogspot.com/2010/02/teoriaobteniendo-nuestra-ip-publica.html :P
http://foro.elhacker.net/programacion_vb/karcrack_ip_checker_nuevo_metodo_para_obtener_ip_propia_smtp-t213961.0.html;msg1015401

A ti te conozco, no? :xD >:D

RAID-MAM

Cita de: Karcrack en  8 Marzo 2010, 13:03 PM
Cita de: SecMAM en  7 Marzo 2010, 21:31 PM
Yo en lo personal la obtengo desde el SMTP de hotmail o gmail :P

http://secmam.blogspot.com/2010/02/teoriaobteniendo-nuestra-ip-publica.html :P
http://foro.elhacker.net/programacion_vb/karcrack_ip_checker_nuevo_metodo_para_obtener_ip_propia_smtp-t213961.0.html;msg1015401

A ti te conozco, no? :xD >:D

jaja :P No habia leido el post , de hecho jugando con el protocolo SMTP lo descubri :P

Y si si me conoces :¬¬ Ahora me haces la desconocida :xD