AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi IP-Adresse aus Internetsite ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

IP-Adresse aus Internetsite ermitteln

Ein Thema von danku · begonnen am 24. Aug 2006 · letzter Beitrag vom 24. Aug 2006
Antwort Antwort
Benutzerbild von danku
danku

Registriert seit: 9. Apr 2006
Ort: 32-bit Adressbus
181 Beiträge
 
Delphi 7 Enterprise
 
#1

IP-Adresse aus Internetsite ermitteln

  Alt 24. Aug 2006, 15:14
ich hab in einem delphi-forum folgendes gefunden:

Delphi-Quellcode:
function IAddrToHostName(const IP: string): string;
var
  i: Integer;
  p: PHostEnt;
begin
  Result := '';
  i := inet_addr(PChar(IP));
  if i <> u_long(INADDR_NONE) then
  begin
    p := GetHostByAddr(@i, SizeOf(Integer), PF_INET);
    if p <> nil then Result := p^.h_name;
  end
  else
    Result := 'Invalid IP address';
end;
irgendwie funzt das nicht bei mir.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

Re: IP-Adresse aus Internetsite ermitteln

  Alt 24. Aug 2006, 15:31
Hey, also das hier hat mit der Easy Helper (http://www.dsdt.info) ausgespuckt:

Zitat:
IP-Adresse eines Hosts ermitteln
getHostByName


--------------------------------------------------------------------------------

Folgende Procedure ermittelt die IP-Adressen eines Hosts. Dies kann z.B. ein Copmutername oder ein Domain-Name sein.

Kern der Funktion ist der Aufruf von "getHostByName", die in der "Platform SDK: Windows Sockets 2" dokumentiert ist. Dort finden sich auch relevante Fehlercodes, die die Funktion in Falle eines Fehlers zurückgibt.

Delphi-Quellcode:
uses
  WinSock;

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;
Die Funktion gibt True zurück, falls der Aufruf von getHostByName erfolgreich war:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
 if GetIpAddressByName(Listbox1.Items, 'www.google.de') then
   Showmessage('OK')
 else
   ShowMessage('Fehler');
end;

--------------------------------------------------------------------------------
Letzte Aktualisierung: 19.02.2005
Online-Version
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.058 Beiträge
 
Delphi 12 Athens
 
#3

Re: IP-Adresse aus Internetsite ermitteln

  Alt 24. Aug 2006, 16:37
Irgendwie klinget GetHostByAddr und IAddrToHostName für mich andersrum ... ließ dir das mal GANZ genau durch

IP => HostName
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#4

Re: IP-Adresse aus Internetsite ermitteln

  Alt 24. Aug 2006, 21:44
Hm, also so wie ich den Thread-Titel lese übergebe ich der Funktion eine Internetseite, z.b. www.delphipraxis.net, und das Ergebnis ist die IP dazu - oder versteh ich das falsch!??!?!?!?!
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
RobertP

Registriert seit: 19. Aug 2006
181 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: IP-Adresse aus Internetsite ermitteln

  Alt 24. Aug 2006, 21:58
Nee er will von einer IP Adresse den zugehörigen Host wissen.

Hier inner Code Library hab ich das hier gefunden: *klick*

Is bissl anders die Funktion vielleicht geht die ja.
Robert
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:52 Uhr.
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