Tema: IP real...
Ver Mensaje Individual
  #4  
Antiguo 07-05-2003
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Reputación: 23
__hector Va por buen camino
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.
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita