Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Öffentliche IP der Fritz-Box in Delphi ermitteln? (https://www.delphipraxis.net/91253-oeffentliche-ip-der-fritz-box-delphi-ermitteln.html)

raven_22 2. Mai 2007 18:27

Re: Öffentliche IP der Fritz-Box in Delphi ermitteln?
 
Ich hab da mal ne Funktion zusammengebaut die ohne großen Aufwand die externe IP / Internet IP anzeigt.
Getestet mit Wind XP, Delphi 7..

Delphi-Quellcode:
uses sockets;

function getExIP: string;
var web:TTcpClient;
tmp:string;
begin
   web:=TTcpClient.Create(web);
   web.RemoteHost:='checkip.dyndns.org';
   web.RemotePort:='80';
   web.Open;
   web.Sendln('GET /'+#13#10+'HOST: http://'+web.RemoteHost+#13#10);
   tmp:=web.Receiveln('#13#10');
   web.Close;
   delete(tmp,1,pos('<body>',tmp));
   result:=Copy(tmp, Pos(':', tmp) + 2, Pos('</bo', tmp) - Pos(':', tmp) - 2);
end;
LG Marko

inherited 2. Mai 2007 19:40

Re: Öffentliche IP der Fritz-Box in Delphi ermitteln?
 
Zitat:

Zitat von TOC
Ja, genau! Mit UPnP wäre am logischsten weil man dafür nicht ins Netzt gehen muss!

Im Internet musst du so oder so sein, sonst hast du auch leine öffentliche IP :stupid:

fkerber 2. Mai 2007 20:21

Re: Öffentliche IP der Fritz-Box in Delphi ermitteln?
 
Hi!

Zitat:

Zitat von inherited
Zitat:

Zitat von TOC
Ja, genau! Mit UPnP wäre am logischsten weil man dafür nicht ins Netzt gehen muss!

Im Internet musst du so oder so sein, sonst hast du auch leine öffentliche IP :stupid:

Dann kannst du aber per UPnP sehen, dass du keine öffentliche IP hast - ohne durch die Anfrage ein Connect auszulösen.


Ciao, Frederic

Chewie 3. Mai 2007 13:23

Re: Öffentliche IP der Fritz-Box in Delphi ermitteln?
 
Außerdem kannst du nicht zwischen dem Fall, dass dein Router keine Verbindung hergestellt hat und dem Fall, dass du aus irgendwelchen Gründen nicht auf eine Seite, die dir deine IP sagt, zugreifen kannst, nicht unterscheiden.

TOC 3. Mai 2007 13:24

Re: Öffentliche IP der Fritz-Box in Delphi ermitteln?
 
Hi :hi: !

Zitat:

Zitat von inherited
Zitat:

Zitat von TOC
Ja, genau! Mit UPnP wäre am logischsten weil man dafür nicht ins Netzt gehen muss!

Im Internet musst du so oder so sein, sonst hast du auch leine öffentliche IP :stupid:

Meine Fritz-Box ist eigentlich immer im Internet eingewählt, ist ja auch DSL, egal ob meine Computer an oder aus sind. Die Box meldet sich automatisch ein und bekommt von meinem Internet-Anbieter dann eine öffentlich IP zugewiesen. Einmal in 24 Stunden trennt die Fritz-Box die Verbindung und wählt sich neu ein um der Zwangstrennung durch den Anbieter zuvorzukommen.
Ja, und dat hat den Nachteil dat sich meine öffentliche IP mindestesn einmal pro Tag (manchmal auch öfter wegen Stromausfall oder sowas) ändert.

Natürlich kann man rauswählen und nen Rechner von aussen nach der eigenen IP fragen, aber ich weiss genau das das nit nötig ist, denn diese IP ist ja in meiner Fritz!-Box gespeichert. Auch kann ich das Diagnose-Programm starten und dieses zeigt die Ip an, geht über UpnP, und jetzt will ich gerne wissen wie das über UpNP mit nem Delphi-Programm geht ohne rauswählen zu müssen :roll: !

Aber vielen Dank für Eure Antworten, Eure Source-Codes find ich echt genial :thumb: ! Nun weiss ich also schon mehr über das Thema und hab zur Not die Lösung mit dem rauswählen von Euch, Danke :drunken: !

Trotzdem lass ich die Frage mal offen weil dat mit dem UpNP noch nit geklärt ist!

Zitat:

Zitat von WS1976
Hallo Toc,

ich kann dir heute Abend den zugehörigen Sourcecode senden wenn du willst.
Geht ganz einfach. Hab den Code leider nicht hier.

Viele Grüsse

Ja, poste den SourceCode bitte hier im Thread damit alle was davon haben. Hat mit gestern Abend wohl nit mehr geklappt, egal, es ist nicht so eilig. Ich wäre Dir für den Code sehr dankbar, ich brauch das für ein Programm das ich am schreiben bin.

Grüsse von TOC :stupid: !

WS1976 3. Mai 2007 13:28

Re: Öffentliche IP der Fritz-Box in Delphi ermitteln?
 
Hallo,

habs leider vergessen, machs sofort wenn ich nach Hause komme.

Sorry aber man wird älter!

WS1976 3. Mai 2007 17:32

Re: Öffentliche IP der Fritz-Box in Delphi ermitteln?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

hier der Code zu get_global_IP.
getestet mit einer Fritzbox 7150.
Nach dem starten der Anwendung kann es bis zu 10 Sekunden dauern bis sich das Fenster mit der IP öffnet. Der Stil des Sourcecodes ist sicher nicht sehr schön, ist einfach nur runtergetippt.

Viel Spass

oki 3. Mai 2007 17:41

Re: Öffentliche IP der Fritz-Box in Delphi ermitteln?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

für meinen Speedport W701V bekomme ich als Adresse 0.0.0.0 angezeigt. Ich bin definitiv online.

Gruß oki

TOC 3. Mai 2007 18:21

Re: Öffentliche IP der Fritz-Box in Delphi ermitteln?
 
Hi @ WS1976 :hi: and Hi @ all else too!

Zitat:

Zitat von WS1976
Hallo,
hier der Code zu get_global_IP.
getestet mit einer Fritzbox 7150.
Nach dem starten der Anwendung kann es bis zu 10 Sekunden dauern bis sich das Fenster mit der IP öffnet. Der Stil des Sourcecodes ist sicher nicht sehr schön, ist einfach nur runtergetippt.

Vielen vielen Dank für die Source :thumb: , der Stiel interessiert mich gar nit, da hat jeder gute Programmierer seine eigenen Macken. Aber ganz dumme Frage, das Programm läuftz bei mir leider nit weil ich hab nur Delphi 3.0 Pro oder Delphi 7.0 Pe, und mir fehlt die UPNPLib_TLB.pas leider komplett. Wo kriegt man die her? Irgendwo im Netz? Hast Du da vielleicht einen Link für mich :angel2: ? Selbst die .exe läuft bei mir nich, Fehlermeldung: Klasse nicht registriert :oops: .

Grüsse von TOC :gruebel: !

OG Karotte 3. Mai 2007 19:21

Re: Öffentliche IP der Fritz-Box in Delphi ermitteln?
 
Zitat:

Zitat von TOC
mir fehlt die UPNPLib_TLB.pas leider komplett. Wo kriegt man die her?

Ist abgeleitet von der UPnP.dll (%Systemroot%\system32\) und kann über "Komponente importieren..." (D2005; D3 bzw. D7 k.A. :( ).

Dadurch erzeugt Du Dir die UPNPLib_TLB.pas...


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:08 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz