begin process at 2010 02 09 23:23:33
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > RÉCUPÉRER SON IP CORRESPONDANT A SON IP INTERNET

RÉCUPÉRER SON IP CORRESPONDANT A SON IP INTERNET


 Information sur la source

Note :
6,38 / 10 - par 8 personnes
6,38 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseau & Internet Niveau :Débutant Date de création :19/03/2003 Date de mise à jour :19/03/2003 00:44:53 Vu :7 044

Auteur : alexanderpopov

Ecrire un message privé
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Voici comment faire pour obtenir son adresse IP de l'interface connectée sur internet [qui peut être differente de l'IP local si vous avez plusieurs interfaces reseaux]

Source de cette article : http://delphi.about.com/library/weekly/aa103100a.h tm

l'article de fabiin pour obtenir son adresse local : http://www.delphifr.com/article.aspx?Val=49.

Source

  • uses Winsock;
  • function GetIPFromHost
  • (var HostName, IPaddr, WSAErr: string): Boolean;
  • type
  • Name = array[0..100] of Char;
  • PName = ^Name;
  • var
  • HEnt: pHostEnt;
  • HName: PName;
  • WSAData: TWSAData;
  • i: Integer;
  • begin
  • Result := False;
  • if WSAStartup($0101, WSAData) <> 0 then begin
  • WSAErr := 'Winsock is not responding."';
  • Exit;
  • end;
  • IPaddr := '';
  • New(HName);
  • if GetHostName(HName^, SizeOf(Name)) = 0 then
  • begin
  • HostName := StrPas(HName^);
  • HEnt := GetHostByName(HName^);
  • for i := 0 to HEnt^.h_length - 1 do
  • IPaddr :=
  • Concat(IPaddr,
  • IntToStr(Ord(HEnt^.h_addr_list^[i])) + '.');
  • SetLength(IPaddr, Length(IPaddr) - 1);
  • Result := True;
  • end
  • else begin
  • case WSAGetLastError of
  • WSANOTINITIALISED:WSAErr:='WSANotInitialised';
  • WSAENETDOWN :WSAErr:='WSAENetDown';
  • WSAEINPROGRESS :WSAErr:='WSAEInProgress';
  • end;
  • end;
  • Dispose(HName);
  • WSACleanup;
  • end;
  • procedure TForm1.Button1Click(Sender: TObject);
  • var
  • Host, IP, Err: string;
  • begin
  • if GetIPFromHost(Host, IP, Err) then begin
  • Edit1.Text := Host;
  • Edit2.Text := IP;
  • end
  • else
  • MessageDlg(Err, mtError, [mbOk], 0);
  • end;
uses Winsock; 

function GetIPFromHost
(var HostName, IPaddr, WSAErr: string): Boolean; 
type 
  Name = array[0..100] of Char; 
  PName = ^Name; 
var 
  HEnt: pHostEnt; 
  HName: PName; 
  WSAData: TWSAData; 
  i: Integer; 
begin 
  Result := False;     
  if WSAStartup($0101, WSAData) <> 0 then begin 
    WSAErr := 'Winsock is not responding."'; 
    Exit; 
  end; 
  IPaddr := ''; 
  New(HName); 
  if GetHostName(HName^, SizeOf(Name)) = 0 then
  begin 
    HostName := StrPas(HName^); 
    HEnt := GetHostByName(HName^); 
    for i := 0 to HEnt^.h_length - 1 do 
     IPaddr :=
      Concat(IPaddr,
      IntToStr(Ord(HEnt^.h_addr_list^[i])) + '.'); 
    SetLength(IPaddr, Length(IPaddr) - 1); 
    Result := True; 
  end
  else begin 
   case WSAGetLastError of
    WSANOTINITIALISED:WSAErr:='WSANotInitialised'; 
    WSAENETDOWN      :WSAErr:='WSAENetDown'; 
    WSAEINPROGRESS   :WSAErr:='WSAEInProgress'; 
   end; 
  end; 
  Dispose(HName); 
  WSACleanup; 
end; 



procedure TForm1.Button1Click(Sender: TObject); 
var 
  Host, IP, Err: string; 
begin 
  if GetIPFromHost(Host, IP, Err) then begin 
    Edit1.Text := Host; 
    Edit2.Text := IP; 
  end 
  else 
    MessageDlg(Err, mtError, [mbOk], 0); 
end; 




 Sources du même auteur

Source avec Zip FTP SHEDULER MULTITHREADS
Source avec Zip EXEMPLE COMPO. MYSQL - TTREEVIEW - POUR DAVIX123
Source avec Zip CALCULER LA VALEUR D'UN STRING '1+2*(4/2)' [MINI PARSEUR AVE...
Source avec Zip COMPOSANT MYSQL NOUVELLE VERSION + MYSQLLISTBOX
Source avec Zip MYSQL (COMPOSANT) : EXEMPLE AVEC UNE GRID

 Sources de la même categorie

Source avec Zip BASE64/BASE64URL ENCODE/DECODE par f0xi
Source avec Zip AFFICHAGE DES INFODFS par fbalien
Source avec Zip Source avec une capture INTRA MESSENGER - DELPHI par keket
Source avec Zip CODAGE DÉCODAGE PDU 7BITS par AccessToYou
Source avec Zip Source avec une capture SIMPLEWEBBROWSER par cantador

Commentaires et avis

Commentaire de iocha le 26/05/2004 14:36:04

Ca ne marche pas, cette fonction me renvoi l'adresse locale et pas celle internet
???

Commentaire de JulioDelphi le 31/10/2004 17:29:49 administrateur CS

idem, je suis derriere un routeur

Commentaire de Nero` le 19/11/2005 13:59:23

Bidon !!!
ça revois l'ip local :(

Commentaire de Bacterius le 16/03/2008 11:04:52

Ip Local, désolé :(

Cordialement, Bacterius !

Commentaire de powerf le 17/10/2008 23:03:25

ça revois l"ip local !!!!

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,250 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales