• Sábado 21 de Diciembre de 2024, 15:42

Autor Tema:  Averiguar La Ip Pública  (Leído 7495 veces)

el_shanky

  • Miembro MUY activo
  • ***
  • Mensajes: 177
    • Ver Perfil
Averiguar La Ip Pública
« en: Lunes 25 de Febrero de 2008, 10:18 »
0
Bueno Precisamente creo este hilo para veriguar métodos de conseguir nuestra IP pública en caso de estar atras de un router.

La idea central es acceder a alguna página (o servidor) que nos muestre (o devuelva) la  IP con la que le estamos accediendo.

Sabiendo que http://www.zoneedit.com/checkip.html me muestra la información pertinente la idea es obtener esa información para trabajarla en mi programa, pero usando el componente CppWebBrowser Solo puedo mostrarla pero no leerla en forma de String.

=> Alguien sabe como Poder leer esta info con el CppWebBrowser??

=> Alguien sabe como manejar la wininet para que esto sea posible??

=> Alguien se le ocurre otra forma?




PD: encontré esta nueva forma usando un ClientSocket y llamando al puerto 80 del server pero no lee nada x alguna razón (O no le llega nada o no la lee bien)... Calculo que las cosas que le mando no serán mas correctas ya que puede estar desactualziado el código!

NOTA: Paso el link del caché de google x que los benditos foros de clubdelphi te piden ser usuario para poder visualizar algo! (ANDÁÁÁÁ FORROSS!!!)

http://64.233.169.104/search?q=cache:5NHJd...clnk&cd=1&gl=ar

El Posta:
http://www.clubdelphi.com/foros/archive/in...hp/t-18437.html

Gracias   :comp:
"La programación hoy en día es una carrera entre los ingenieros de software intentado construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De lejos, el Universo está ganando." - Rich Cook



http://www.maxcode.com.ar

http://www.shanky.com.ar

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Averiguar La Ip Pública
« Respuesta #1 en: Lunes 25 de Febrero de 2008, 14:41 »
0
Cita de: "el_shanky"
=> Alguien sabe como Poder leer esta info con el CppWebBrowser??

No.

Cita de: "el_shanky"
=> Alguien sabe como manejar la wininet para que esto sea posible??

Windows Internet.

Cita de: "el_shanky"
=> Alguien se le ocurre otra forma?

Leer esa pagina con Winsock, tenes que obviar las cabeceras e interpretar el HTML.

Agrego, con enviar esto alcanza:
GET /checkip.html HTTP/1.0\r\nHost: zoneedit.com\r\n\r\n

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

el_shanky

  • Miembro MUY activo
  • ***
  • Mensajes: 177
    • Ver Perfil
Re: Averiguar La Ip Pública
« Respuesta #2 en: Lunes 25 de Febrero de 2008, 17:46 »
0
VAMOS NO MAS SI QUERES!!!!! ME SALIÓÓÓÓÓÓ!!!  :D
Igual era un bolazo si te pones a pensar en que utilizo un objeto... Pero bué! nadie me supo decir asi que tuve que mandarle fruta a todos los componentes de la solapa Internet y la ayuda del Borland... N fin... Pasemos a explicar!


=> Para poder obtener la ip externa o pública una de las formas mas fáciles es conseguirla desde algun servidor externo, para esto localizamos una de estas páginas donde nos suministren esta información como es:

http://www.zoneedit.com/checkip.html

Luego solo necesitaremos agregar a nuestro programa el componente NMHTTP que se encuentra en la solapa FastNet que se utiliza para LEER TEXTO HTTP (para la mucha gente que andaba necesitando hacer esto... ACA LO TIENEN)

Solo resta Poner en el evento que mas nos convenga el siguiente código:

Código: Text
  1.  
  2. /********Averiguo la IP Externa***********/
  3. NMHTTP1->Get("http://www.zoneedit.com/checkip.html");//pido la página
  4. AnsiString S = NMHTTP1->Body;//copio el cuerpo de la página
  5. S.Delete(1,111); //elimino todo el texto que no es necesario hasta llegar al ip
  6.                           //que yo x tantearlo ya se que va desde 1 a 111!
  7. S=S.SubString(0,15);//Obtengo el ip que consta de 15 caracteres
  8. Label5->Caption=S; //Lo muestro
  9. /********Averiguo la IP Externa***********/
  10.  
  11.  

Así de facil!!! recomiendo la ayuda del borland de este componente ya que tiene un ejemplo que muestra muy bien como se utilizan sus difernetens opciones! Muy interesante! pero con este código ya pueden obtener el IP sin tener que ir a bajo nivel y tocar sockets ni puertos ni nada!

Igual voy a hacerle caso a EternalIdol y a ver si me sale usando WinInet...

Exitos Spero que les sirva! Yo me merezco cuna rubia helada!jajaaj chau  :good:  :beer:
"La programación hoy en día es una carrera entre los ingenieros de software intentado construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De lejos, el Universo está ganando." - Rich Cook



http://www.maxcode.com.ar

http://www.shanky.com.ar

laura202020

  • Nuevo Miembro
  • *
  • Mensajes: 1
  • Nacionalidad: 00
    • Ver Perfil
Re:Averiguar La Ip Pública
« Respuesta #3 en: Viernes 4 de Diciembre de 2020, 19:39 »
0
gracias por la informacion