Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Wie bekommt man die Öffentliche IP heraus ? (https://www.delphipraxis.net/96321-wie-bekommt-man-die-oeffentliche-ip-heraus.html)

Corpsman 22. Jul 2007 16:56


Wie bekommt man die Öffentliche IP heraus ?
 
Hi Leuts,

ich habe wie wohl die meisten einen Router über den ich ins I-net gehe.

nu will ich mit einem Delphi Programm meine IP addresse bekommen die man vom I-net aus sieht ( also die dies Routers ).

ich weis das es möglich sein mus, denn mein Miranda Client zeigt mir sie immer als External IP an.

Nur wie.

Ich Forum hab ich schon gesucht aber nichts gefunden. Und meine Indy Kombos geben mir immer nur die Lokalen IP's.


Kann mir einer von euch helfen ?

Namenloser 22. Jul 2007 17:02

Re: Wie bekommt man die Öffentliche IP heraus ?
 
Hi,

ich glaube dazu gabs schon mehrere Diskussionen, die immer das Ergebnis hatten, dass es nicht ohne eine externe Seite geht.
Du kannst aber auf deinen Webspace eine PHP-Datei mit folgendem Inhalt legen:
Code:
<?php
  echo $_SERVER['REMOTE_ADDR'];
?>
Die kannst du dann per Indy auslesen...

mkinzler 22. Jul 2007 17:02

Re: Wie bekommt man die Öffentliche IP heraus ?
 
Der ICQ-Client bekommt diese IP über den Server.
Entweder du schaust ob dein Router dir eine Möglichkeit bietet die IP auszulesen oder du verwendest eine externe Quelle.
http://www.whatismyip.de/

Corpsman 22. Jul 2007 18:16

Re: Wie bekommt man die Öffentliche IP heraus ?
 
@NamenLozer

ok Webspace hab ich zum Glück.

Und die PHP datei erstellen und hochladen ist kein problem.

Allerdings habe ich mit Indy bisher nur TCP/IPClient(server), bzw UDP/server benutzt.

wie konnecte ich mich dann auf diese PHP datei und ermittle dann damit meine IP ?

mkinzler 22. Jul 2007 18:17

Re: Wie bekommt man die Öffentliche IP heraus ?
 
Per TIdHTTPClient

Corpsman 22. Jul 2007 18:22

Re: Wie bekommt man die Öffentliche IP heraus ?
 
hmm ich hab indy 9 da gibts das net, hab nur nen TIdHTTPServer will mal mein Glück mit dem versuchen ;)

mkinzler 22. Jul 2007 18:24

Re: Wie bekommt man die Öffentliche IP heraus ?
 
Früher hieß es TIdHTTP
http://www.dsdt.info/tutorials/indy/

Namenloser 22. Jul 2007 18:25

Re: Wie bekommt man die Öffentliche IP heraus ?
 
Ich glaube, die Komponente heißt auch einfach nur TIdHTTP

edit: zu spät

Corpsman 22. Jul 2007 18:32

Re: Wie bekommt man die Öffentliche IP heraus ?
 
Cool das geht ja total easy. THX

hier mal meine Lösung falls igrendjemand das später auch mal Probieren will.

Delphi-Quellcode:

Var
  bla: TIdHTTP;
Begin
  bla := TIdHTTP.create(self);
  showmessage(bla.Get('Addresse der oben Geposteten php Datei'));
  bla.free;
End;

FAlter 22. Jul 2007 19:01

Re: Wie bekommt man die Öffentliche IP heraus ?
 
Hi,

:shock: Sowas kann ich nicht mehr sehen

du solltest noch try..finally..end hinzufügen :!:

Mfg
FAlter

Luckie 22. Jul 2007 19:03

Re: Wie bekommt man die Öffentliche IP heraus ?
 
Und was passiert, wenn die Seite nicht erreichbar ist?

Corpsman 22. Jul 2007 20:21

Re: Wie bekommt man die Öffentliche IP heraus ?
 
*g*


ok ihr habt ja Recht dieses Try finaly zeug vergesse ich immer.

also ich hab das mal mit diesem What is my IP ausprobiert, das klappt eigentlich net schlecht ;)

Delphi-Quellcode:
Procedure TForm1.Button4Click(Sender: TObject);
Var
  bla: TIdHTTP;
  l: Tstringlist;
  j, i: integer;
  t, s: String;
Begin
  bla := TIdHTTP.create(self);

  l := TStringList.create;
  // Nur zum Debuggen in einem String zwischengelagert
  Try
    t := bla.Get('http://www.whatismyip.de');
  Finally
    bla.free;
  End;
  l.Add(t);
  label7.Caption := '';
  For i := 0 To l.count - 1 Do Begin
    j := pos('your ip is', lowercase(l[i]));
    If j <> 0 Then Begin
      s := l[i];
      delete(s, 1, j + length('your ip is'));
      delete(s, pos(' ', s), length(s));
      label7.Caption := 'Externe IP : ' + s;
      break;
    End;
  End;
  l.free;
  bla.free;
  If Length(label7.Caption) = 0 Then Begin
    showmessage('Fehler Konnte [url]http://www.whatismyip.de[/url] nicht erreichen.');
  End;
End;

Matze 22. Jul 2007 21:09

Re: Wie bekommt man die Öffentliche IP heraus ?
 
Ich weiß nicht, ob man solche Seiten einfach für eigene Programme nutzen darf, aber es wäre unter Umständen sinnvoller, nach einem festgelegten Timeout, eine andere Seite zu nutzen. Dann hast du beispielsweise eine Liste mit 3 Seiten und die Wahrscheinlichkeit, dass alle nicht erreichbar sind, ist schon sehr gering. Ist dies der Fall, dann würde ich erst eine Meldung ausgeben.

Da gibt's ja einige Anbieter, auch welche, die dir Arbeit abnehmen, da du nicht erst die IP heraus friemeln musst, sondern direkt die IP erhälst: http://www.whatismyip.org/

Wenn du natürlich eigenen Webspace hast, bist du (auch rechtlich) auf der sicheren Seite.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:27 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