GetIP from HostName

Signaler
Messages postés
470
Date d'inscription
vendredi 14 novembre 2003
Statut
Membre
Dernière intervention
23 octobre 2007
-
Messages postés
470
Date d'inscription
vendredi 14 novembre 2003
Statut
Membre
Dernière intervention
23 octobre 2007
-
Bonjour à tous

J'ai une question, j'ai l'adresse d'un site htttp://www.ogametut.free.fr
mais l'ip de ce dernier change souvent,et j'aimerais bien faire une fonction de ce type

GetIP(htttp://www.ogametut.free.fr) : string; => renvoi l'ip

j'ai bien chercher sur le forum, mais helas, soit la page indiquée n'existait plus, soit une partie du code ne marchait pas

Je précise que j'ai delphi 7, et que j'aimerais utiliser le moin possible de composants.

Si vous avez une réponse, d'avance merci.

Filipe

ps: Ogametut.free.fr est un exmple je précise.

1 réponse

Messages postés
470
Date d'inscription
vendredi 14 novembre 2003
Statut
Membre
Dernière intervention
23 octobre 2007
1
J'ajoute Winsock dans les Uses

mais ce code ne marche toujours pas,

function HostEntAddress(const HostEnt: PHostEnt; const Index: Integer): TInAddr;
var P : ^PInAddr;
Q : PInAddr;
I : Integer;
begin
LongInt(Result.S_addr) := LongInt(INADDR_NONE);
if not Assigned(HostEnt) then
exit;

Assert(HostEnt^.h_addrtype = AF_INET, 'IP addresses required');
Assert(HostEnt^.h_length = Sizeof(TInAddr), 'IP addresses required');

P := Pointer(HostEnt^.h_addr_list);
if not Assigned(P) then
exit;
Q := P^;
I := 0;
While Assigned(Q) and (I < Index) do
begin
Inc(P);
Inc(I);
Q := P^
end;
if Assigned(Q) then
Result := Q^;
end;

function IPAddressStr(const Address: TInAddr): String;
begin
Result := PChar(inet_ntoa(Address));
end;


procedure TForm1.Button1Click(Sender: TObject);
var
HostEnt : pHostEnt;
index : integer;
ip : string;
begin
HostEnt := GetHostByName('http://www.ogametut.free.fr');
ip := IPAddressStr(HostEntAddress(HostEnt, Index));
showmessage(ip);

end;