Einzelnen Beitrag anzeigen

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