Entwickler-Ecke
Internet / Netzwerk - IP eines Rechners rausfinden
WolfB - Fr 24.02.06 22:20
Titel: IP eines Rechners rausfinden
hi, mal ne frage,
kann man mit delphi sich die ip eines rechners, also des rechners, auf dem das programm läuft, rausfinden und diese ausgeben lassen?
recall - Fr 24.02.06 22:31
hi,
welche IP möchtest du denn haben ?
Die im lokalen Netzwerk, oder die IP, die der Rechner im Internet hat ?
Lokal ist das allerdings ggf. nicht eindeutig (mehrere Netzwerkkarten), es gibt dazu aber
Methoden (suche im Delphi-forum, ich weiß nicht mehr wo genau, aber ich hab das hier schonmal gelesen).
Im Internet kannst du ggf. mit einer HTTP-Komponente (z.B. Indy) ein php-Skript, z.B.
http://www.prodego.de/myIP.php aufrufen und die IP-Adresse auslesen (Das ist jetzt meine persönliche Adresse, es gibt aber auch ein php-Skript bei DynDns, das einem die IP anzeigt).
Viele Grüsse.
Marco D. - Fr 24.02.06 22:31
1. Komponente IdIPWatch verwenden
2.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31:
| uses Winsock;
function GetLocalIPs(const Lines:TStrings):Boolean; type PPInAddr= ^PInAddr; var wsaData: TWSAData; HostInfo: PHostEnt; HostName: Array[0..255] of Char; Addr: PPInAddr; begin Result:=False; Lines.Clear; if WSAStartup($0102, wsaData)=0 then try if gethostname(HostName, SizeOf(HostName)) = 0 then Begin HostInfo:= gethostbyname(HostName); if HostInfo<>nil then Begin Addr:=Pointer(HostInfo^.h_addr_list); if (Addr<>nil) AND (Addr^<>nil) then Repeat Lines.Add(StrPas(inet_ntoa(Addr^^))); inc(Addr); Until Addr^=nil; end; end; Result:=True; finally WSACleanup; end; end; |
Narses - Sa 25.02.06 13:48
Moin!
Mit der Funktion:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| function GetIPByName(const Hostname : String; var IPv4 : in_addr ): Boolean; function GetIPByName(const Hostname : String; var IPv4List : in_addr_list ): Boolean; |
aus
dieser Unit [
http://www.delphi-forum.de/viewtopic.php?p=319893#319893], Parameter Hostname auf einen Leerstring setzen. :wink:
Im Codebeispiel der Unit im Anhang ist das ganze auch als laufendes Programm "begutachtbar", einfach als Hostnamen "localhost" oder Leerstring eingeben und "nur IP auflösen" anklicken.
cu
Narses
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!