Entwickler-Ecke
Internet / Netzwerk - IP von Website herausfinden
DorJo - So 25.05.08 19:50
Titel: IP von Website herausfinden
Hy @ all,
gibt es irgendeine Möglichkeit die IP von einer bestimmten Website herauszufinden? Die IdHTTP Kompo schickt ja prinzipiell eine Anfrage mit dem Namen der I-Netseite an einen Nameserver, odr? Und da müsste sie doch egtl. eine IP dieser Seite zurückkriegen... kann man die irgendwie herauskriegen?
Danke schon ma im Vorraus
Dor Jo
alias5000 - So 25.05.08 20:20
Das Stichwort dazu lautet
DNS.
In Delphi kannst du dazu z.B.
TIDDNSRESOLVER benutzen.
Gruß
alias5000
DorJo - So 25.05.08 20:37
hmm
und wie funzt das genau?! =O! Sry ar entweder bin ich zu blöd für diese welt odr es is komisch ^^
alias5000 - So 25.05.08 20:43
Bei den Demos zu Indy (im Programmverzeichnis von Delphi/Demos) ist IMHO ein entsprechender Codeschnipsel dabei.
Eine schnelle Lösung dafür sollte in etwa sowas hergeben:
Delphi-Quelltext
1: 2: 3: 4:
| IdDNSResolver1.Active := true; IdDNSResolver1.Host := Domain; IdDNSResolver1.Resolve(Domain); IPAdresse := (IdDNSResolver1.QueryResult.Items[0] as TARecord).IPAddress; |
Dort sind aber keine Fehlerfälle und so mit abgefangen (falls die DNS-Auflösung fehlschlagen sollte und so)
Gruß
alias5000
DorJo - So 25.05.08 23:11
@alias5000
Delphi-Quelltext
1: 2: 3: 4: 5:
| IdDNSResolver1.Active := true; IdDNSResolver1.Host := adresse.text; IdDNSResolver1.Resolve(adresse.text); IPAdresse := (IdDNSResolver1.QueryResult.Items[0] as TARecord).IPAddress; ShowMessage(IPAdresse); |
Hmm :( wenn mein Editfeld (addresse) den Wert "http://www.google.de" hat kommt bei dem resolve befehl die fehlermeldung:
Ungültige Abfragezahl 0
... Was is da falsch? :( muss ich vielleicht noch irgendne unit einbauen odr so?
Narses - So 25.05.08 23:26
Moin!
DorJo hat folgendes geschrieben: |
| wenn mein Editfeld (addresse) den Wert "http://www.google.de" hat kommt bei dem resolve befehl die fehlermeldung: |
Der Host heißt
http://www.google.de, das http:// hat als Protokollangabe bei einer DNS-Anfrage da nix zu suchen. :idea:
cu
Narses
DorJo - So 25.05.08 23:30
Narses hat folgendes geschrieben: |
| Der Host heißt http://www.google.de, das http:// hat als Protokollangabe bei einer DNS-Anfrage da nix zu suchen. :idea: |
Ähm... k ;) wenn du das sagst ^^ Ar es kommt trotzdem die gleiche Fehlermeldung bei
http://www.google.de! :(
DorJo - So 25.05.08 23:45
Narses hat folgendes geschrieben: |
| die Funktionen GetIPbyName() machen auch eine DNS-Auflösung. |
:oops: ich glaub ich bin zu blöd ar bei der GetIPbyName was hat da diese IPv4 für ein Format?! :oops:
Narses - So 25.05.08 23:48
Narses in dem Unit-Beitrag hat folgendes geschrieben: |
| Es kann für den Typ in_addr (IPv4-Adresse) nötig sein, noch WinSock in die uses-Klausel einzufügen. |
:zwinker:
DorJo - Mo 26.05.08 00:06
oh verdammt... stimmt... hmm es is echt zu spät -.-
| Zitat: |
| IPv4: enthält nach dem Aufruf die IP(v4)-Adresse oder -1 im Fehlerfall |
hmm... ar was is denn da das jetz für ein format... hmm irgendwie bin ich heut schlecht drauf... ich versteh nur bahnhof... wie kann ich denn darauf zugreifen?
Narses - Mo 26.05.08 00:47
Moin!
DorJo hat folgendes geschrieben: |
| Zitat: | | IPv4: enthält nach dem Aufruf die IP(v4)-Adresse oder -1 im Fehlerfall |
hmm... ar was is denn da das jetz für ein format... |
Schonmal den Quelltext der PingDemo angeschaut? :roll: ;)
cu
Narses
DorJo - Mo 26.05.08 01:04
Moin. Also verzeih bitte mein langsames Denken heute... Aber irgendwie seh ich grad nicht mehr so richtig klar. Also. Ich kann doch mittels IPv4.S_addr auf den Integerwert zugreifen, odr? :oops: ar da kommt bei mir bei google.de 166.353.263.2
... hmm ... wenn ich mich zu blöd anstelle... dann haut mich bitte ^^
Narses - Mo 26.05.08 01:27
Moin!
Probier das mal so: ;)
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| uses ..., Ping, WinSock;
procedure TForm1.Button1Click(Sender: TObject); var IP: in_addr; begin if GetIPByName(Edit1.Text,IP) then Edit1.Text := inet_ntoa(IP) else Edit1.Text := 'Fehler!'; end; |
cu
Narses
Delete - Mo 26.05.08 09:18
Ich will ja nicht pedantisch sein, aber als Programmierer habe ich es mir, auch manchmal auch zum Leidwesen meiner Freundin angewöhnt, mich möglichst genau auszudrücken. Und in diesen Fall bedeutet das: Eine Webseite hat keine IP. Nur der Server auf dem die Webseite liegt, hat eine IP. Warum ist mir das so wichtig? Ganz einfach, weil wenn man sein Problem genau beschreiben kann, hat man es schon fast gelöst. Es muss also nicht die IP der Webseite rausgefunden werden, sondern es muss die URI des Servers in eine IP-Adresse zurückverwandelt werden. Und damit hat man schon fast einen Suchansatz für das Forum oder Google.
DorJo - Mo 26.05.08 14:48
DANKE NARSES! Funktioniert super!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!