![]() |
Internet IP herausfinden
Hallo,
gibt es eine Möglichkeit wie man mit einem Delphiprogramm die eigene Internet IP herausfinden kann? Also wenn man auf einem Button drückt dass dann die Internet IP auf einen Label angezeigt wird. Wenn ja könnt ihr den Quelltext hier posten. Danke für jede Antwort.. |
AW: Internet IP herausfinden
So einfach ists das leider nicht möglich, da wenn du hinter einem Router sitzt, dieser ja die IP-Adresse für den Internetzugang inne hat. Du könntest eine Website kontaktieren und die entsprechende IP auslesen. Diese beinhaltet eben eine Website herunterladen (-> Indys) und den Quelltext parsen (-> z.B. RegEx).
|
AW: Internet IP herausfinden
|
AW: Internet IP herausfinden
![]() gefunden über [DP]öffentliche ip internet[/DP] |
AW: Internet IP herausfinden
Alternativ einen externen Dienst wie checkip.dyndns.org abrufen und diese IP verwenden...
|
AW: Internet IP herausfinden
Es liegt in der Natur des Internets, dass jedes Gerät nur seine nächste Gegenstelle kennen muss um eine Verbindung zu einem x-beliebigen Punkt im Internet zu erreichen.
In dem Beispiel unten kennt der Rechner mit der Adresse A den Router unter der Adresse B. Die Adresse C ist für den Rechner absolut nicht notwendig zu wissen (auch wenn diese interessant sein könnte).
Code:
Somit gibt es 2 Möglichkeiten an die Adresse C zu gelangen:
A B C
Rechner <-> Router <-> Internet 1. via einem Web-Dienst (wie schon erwähnt) 2. den Router fragen (ist von Router zu Router anders bis gar unmöglich) Möglichkeit 1 macht zwar abhängig vom entsprechenden Web-Dienst, dafür macht Möglichkeit 2 abhängig vom Router-Modell. Die Frage ist nur, welchen Tod will ich nun sterben ;) |
AW: Internet IP herausfinden
Wobei es an der Stelle vielleicht auch interessanter ist die IP über einen (oder mehrere) Webservices abzufrgen, da man so auch erfahren kann, ob man überhaupt mit dem Internet verbunden ist. Klar, der Webservice kann down oder abgeschalten sein, dafür würde ich auch 3 Webservices befrage. Eine tolle Übungs für Threads :stupid:
|
AW: Internet IP herausfinden
Zur Aussage "ob man mit dem Internet verbunden ist" fällt mir spontan das ein:
![]() Nur so nebenbei...:) MfG Alaitoc |
AW: Internet IP herausfinden
Es gibt von
![]() diese ist folgende
Code:
und ich rufe diese dan mit TIdHTTP und Get ab.
http://automation.whatismyip.com/n09230945.asp
Dort ist nur die IP drin sonst nichts. Gruß NickelM |
AW: Internet IP herausfinden
hab jetzt zwar den code gefunden:
Delphi-Quellcode:
Aber es zeigt mir Fehler an. Was habe ich falsch gemacht
unit Unit1;
{$mode objfpc}{$H+} interface uses Classes, SysUtils, winsock, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls; type { TForm1 } TForm1 = class(TForm) Button1: TButton; ListBox1: TListBox; procedure Button1Click(Sender: TObject); private { private declarations } public { public declarations } end; var Form1: TForm1; implementation {$R *.lfm} { TForm1 } function GetIpAddressByName(const Lines:TStrings; const AHost: String): Boolean; type PPInAddr= ^PInAddr; var WSA: TWSAData; HostInfo: PHostEnt; Addr: PPInAddr; begin Result:=False; if WSAStartUp($101, WSA) = 0 then begin try HostInfo:= getHostByName(PChar(AHost)); Result:=HostInfo<>nil; if Result then begin Addr:=Pointer(HostInfo^.h_addr_list); if (Addr<>nil) AND (Addr^<>nil) then begin Repeat Lines.Add(StrPas(inet_ntoa(Addr^^)) ) ; inc(Addr); Until Addr^=nil; end; end; finally WSACleanup; end; end; end; procedure TForm1.Button1Click(Sender: TObject); begin if GetIpAddressByName (Listbox1.Items, ('http://automation.whatismyip.com/n09230945.asp') )then Showmessage('OK') else ShowMessage('Fehler'); end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz