
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');