Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   IP real... (https://www.clubdelphi.com/foros/showthread.php?t=148)

madman 06-05-2003 22:09:17

IP real...
 
Hellowwwww!!! :D

Ke ondax... Este es mi primer post en el nuevo foro!

Tengo servicio de Internet por medio de una compañia X, por medio de la tarjeta de RED y un cablemodem.

Cuando uso cualquier componente o ya sea mediante codigo este me muestra la IP que tengo con dicha compañia. :confused: Pero... quisiera conocer mi IP REAL, con lo que cualquiera en cualquier lugar del ancho mundo pueda conectarse a mi computadora.

Thanx y saludos! :cool:

X-JABS 07-05-2003 14:44:01

Que necesitas hacer, posiblemente si necesitas conectar a tu pc desde internet, puedas utilizar un programa llamado DirectUpdate, que te ofrece DNS para IP dinamicas,
algo como x-Jabs.homelinix.net, y con eso la podrias hacer mortal.. podrias colgar en tu pc un Servidor de DB, una WEB, un FTP, etc..

__hector 07-05-2003 16:34:31

Hola,

Para saber tu IP real puedes visitar cualquiera de estas paginas:

http://ipdetect.dnspark.com/
http://dynamic.zoneedit.com/checkip.html
http://checkip.dyndns.org/
http://ip.ChangeIP.com/ip.asp
http://www.dnsart.com/myip.php
http://dynupdate.no-ip.com/ip.php
http://www.dnsart.com:7777/myip.php
http://checkip.dyndns.org:8245/

Si lo que quieres es automatizar el servicio de obtencion de IP, puedes programar un poco los sockets para hacer la peticion http al servidor, y determinar el valor del ip de acuerdo a lo que te devuelva.

__hector 07-05-2003 17:28:34

Bueno, me sente un minuto a probar lo que te dije en teoria, y salio algo como esto:

Utilizando un ClientSocket, con las propiedades:
Name : cs
Port : 80
host: dynamic.zoneedit.com
active : true


Este es el codigo para hacer la peticion:

var
Str : string;
begin
str := 'POST http://dynamic.zoneedit.com/checkip.html HTTP/1.0'+#13#10 +
'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/msword, */*'+#13#10 +
'Accept-Language: es'+#13#10 +
'Accept-Encoding: gzip, deflate'+#13#10 +
'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)'+#13#10 +
'Proxy-Connection: Keep-Alive'+#13#10 +
''+#13#10 +
''+#13#10;
cs.Socket.SendText(str);


En el evento onRead entonces, puedes ver la propiedad receiveText para ver que te devuelve el servidor.

Str := cs.socket.ReceiveText;

Debe devolverte algo como esto:

HTTP/1.1 200 OK
Date: Wed, 07 May 2003 15:20:01 GMT
Server: Apache
Content-Length: 168
Connection: close
Content-Type: text/html

<html><head><title>Current IP Check</title></head>
<body bgcolor=white text=black>


Current IP Address: 64.32.72.149
<br>Hostname: localhost

</body></html>


Entonces, ahi solo tienes que leer la linea de CurrentIPAddress, y obtener el IP. Las posiciones son absolutas, es decir, no esperas que cambien de peticion en peticion.

madman 08-05-2003 03:46:02

Gracias por contestar!

En este momento aplicare lo ke me komentas hektor ya te dire como me va!!

Por cierto la URL que pusiste en el ejemplo, me da una IP diferente de las demas que los otros servidores me muestran. Parece ser que es un renegado... :D

Thanx!

madman 08-05-2003 08:45:29

Hola!

El metodo creado por Hector esta muy bien...

Muchas gracias compañero, funciona de maravilla!!

Gracias tambien a ti X-JABS, ese programita se "escucha" muy interesante... :D


Hasta la vista...

Vultur 11-02-2005 19:26:17

Adaptacion del codigo de Hector al Builder C++
 
Hice una adaptacion de lo que escribio Hector para el Builder C++. Lo podran encontrar en http://www.clubdelphi.com/foros/show...7760#post77760

Saludos

Luis


La franja horaria es GMT +2. Ahora son las 01:12:39.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi