Thema: IP Watcher

Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#22

Re: IP Watcher

  Alt 25. Mai 2005, 14:17
Zitat von Interceptor:
Vergiss den TWebBrowser um die IP zu ermitteln

Hier ist ein schönes Stückchen Code um sämtliche IP's (Netzwerk & Inet) zu ermitteln. Nicht vergessen die unit Winsock in den uses mit aufzunehmen.
Ich wette, keiner von Euch hat meinen Betrag über das Programm IPGet wirklich richtig gelesen.
Hier nochmals das Grundprinzip, wie man die eigene IP, mit der man im Internet arbeitet, herausfindet.
Und zwar unabhängig davon, ob ein Router oder ein Proxy-Server dazwischen ist:

Man stellt eine HTTP-Anfrage an eine der folgenden URLs und wertet das Ergebnis aus:
http://checkip.dyndns.org
http://checkip.dyndns.org:8245
http://ipdetect.dnspark.com
http://ip.ChangeIP.com/ip.asp
http://www.dnsart.com/myip.php
http://www.dnsart.com:7777/myip.php
http://dynupdate.no-ip.com/ip.php
http://update.dynu.com/basic/ipcheck.asp
http://dynamic.zoneedit.com/checkip.html
Das Ergebnis sieht ungefähr so aus:
Code:
<html>
<head>
<meta http-equiv="Expires" content="Tues, 04 Dec 1996 21:00:00 GMT">
<meta http-equiv="pragma" content="no cache">

<title>IPDetect.DNSPark.com</title>
</head>
<body>

Current Address: 211.186.108.69
</body>
</html>
Jetzt muss man nur mit etwas Stringverarbeitung die IP-Adresse herausziehen.
Dazu braucht man keinen TWebBrowser (zu viel Overhead) und WinSock wäre zu systemnah.
Ein Web-Seite lässt sich mit ganz wenig Aufwand downloaden:
Delphi-Quellcode:
uses ...,WinINet;
function DownLoadInternetFile(const Source, Dest : String): Boolean;
begin
   Result := URLDownloadToFile(nil,PChar(Source),PChar(Dest),0,nil) = 0
end;
...
DownloadInternetFile('http://ipdetect.dnspark.com', 'C:\IP.txt');
Andreas
  Mit Zitat antworten Zitat