Obtentir une ip d'un dns

Signaler
Messages postés
134
Date d'inscription
vendredi 2 mai 2003
Statut
Membre
Dernière intervention
14 novembre 2009
-
Messages postés
198
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
18 mars 2011
-
Bonjour je voudrai avoir l'ip d'un host: first-wolrd.no-ip.info, et en chaine de caractere, comment faire?

2 réponses

Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
12
fonction des sockets:
gethostbyname(...)
Bob...
"La chance accorde ses faveur aux esprits avertis..."
Messages postés
198
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
18 mars 2011
1
 


 



//----------------------------------------------------------------
// INFOSERV.C
//----------------------------------------------------------------
#include <stdio.h>
#include <winsock2.h>



//----------------------------------------------------------------
int InfoServeur(LPCSTR lpServeurNomOuAdresse)
{
  LPHOSTENT      lpHost;    
  struct in_addr iaHost;    
  struct in_addr *pinAddr;  
  LPSTR          lpAlias;            
  int            i;



  iaHost.s_addr = inet_addr(lpServeurNomOuAdresse);
 
  if(iaHost.s_addr == INADDR_NONE)
    lpHost = gethostbyname(lpServeurNomOuAdresse);
  else
    lpHost = gethostbyaddr((char *)&iaHost, sizeof(struct in_addr), AF_INET);



  if(!lpHost)
    return WSAGetLastError();



  printf("\n\nINFOS SERVEUR");
  printf("\n-------------");
  printf("\nNom...........: %s", lpHost->h_name);
 
  for(i = 0; ; i++)
  {
    lpAlias = lpHost->h_aliases[i];
    if(!lpAlias) break;
    printf("\nAlias.........: %s", lpAlias);
  }
 
  for(i = 0; ; i++)
  {
    pinAddr = ((LPIN_ADDR)lpHost->h_addr_list[i]);
    if(!pinAddr) break;
    printf("\nAdresse IP....: %s", inet_ntoa(*pinAddr));
  }
  printf("\n");
  return 0;
}



//----------------------------------------------------------------
int main(int argc, char **argv)
{
  int     ret;
  WSADATA wsaData;



  if(argc != 2)
  {
    printf("\nSyntaxe: InfoServ ServeurNomOuAdresse\n");
    return 0;
  }
  if(ret = WSAStartup(MAKEWORD(2,0), &wsaData))
  {
    printf("\nWSAStartup() erreur: %d\n", ret);
    WSACleanup();
    return 0;
  }
  if(ret = InfoServeur(argv[1]))
    printf("\nInfoServeur() erreur: %d\n", ret);



  WSACleanup();
  return 0;   
}