FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
obtener ip externa de mi router ADSL
Alguien se le ocurre como obtener la ip externa de mi router ADSL sabiendo la ip interna del mismo. Desde delphi claro
SAlu2 |
#2
|
||||
|
||||
Aunque no estoy del todo seguro si tendrás acceso, y no se si es la forma mas sencilla, creo que podrás hacerlo a traves de SNMP. En la página del Project Jedi tienes los headers para manejar este protocolo.
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
||||
|
||||
Una manera efectiva de lograrlo es haciendo una peticion http a un servidor de esos que proveen informacion acerca del ip con el que te conectas a Internet (la ip del router), tomar lo que te devuelve y determinar el ip.
Ese servicio esta dado por los proveedores de dns dinamicos, ya que existen clientes que instalas en tu maquina y determinan el ip con el que te conectas a Internet para poder actualizar los servidores de dns dinamicos "transparentemente" Una de esas paginas es http://dynamic.zoneedit.com/checkip.html Algo de codigo: Para hacer la peticion http, ClientSocket con las propiedades: - Host: zoneedit.com - Puerto: 80 - Active : true Código:
with ClientSocket do begin Socket.SendText('GET http://dynamic.zoneedit.com/checkip.html HTTP/1.0'+#13#10); Socket.sendText('Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/msword, application/vnd.ms-excel, */*'+#13#10); Socket.SendText('Referer: http://www.zoneedit.com/'+#13#10); Socket.sendText('User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)'+#13#10); Socket.SendText('Host: www.zoneedit.com'+#13#10); Socket.sendText('Content-Length: 0'+#13#10); Socket.sendText(''+#13#10); Socket.sendText(''+#13#10); end; Código:
procedure TForm1.ClientRead(Sender: TObject; Socket: TCustomWinSocket); var str : string; posIp : integer; posFin : integer; ip : string; begin str := cs.Socket.ReceiveText; posIp := pos('Current IP Address:', str); posFin := pos('<br>Hostname', str); ip := copy(str, posIp + 20, posFin - (posIp + 22)); end;
__________________
Héctor Geraldino Software Engineer |
#4
|
|||
|
|||
Buenos dias a todos hertor estoy tomando tu codigo y lo monto para que me de la ip y no me da erro pero no me da la ip no me da nada, que puede ser????
__________________
____________________________ Un saludo a todos... |
#5
|
|||
|
|||
Respuesta OBTENER IP EXTERNA
¿No te sirve un DNS?
Si te sirviera chusmea myvnc.com. Y el tema e que tenes que habilitar que el Router no sólo routee los servicios sino quetambien la IP. |
|
|
|