[Resolu] Socket Avoir une IP depuis un Nom de site

Socket Avoir une IP depuis un Nom de site [Resolu] - C++ - Programmation

Marsh Posté le 29-11-2010 à 22:41:33    

Bonjour,
Alors voila je développe un petit programme qui permet d envoyer ses requette HTTP
Le soft marche a peu près il m'envoie bien la requette avec l'adresse IP du serveur
Mais je voudrai maintenant qu'il trouve tous seul l'ip a laquelle envoyer la requette quant je rentre par exemple google.fr
 
apparemment c est faisable avec un gethostbyaddr mais je galère
alors un peu d'aide ne serai pas de refus.
 
Merci  :)


Message édité par Profil supprimé le 30-11-2010 à 00:09:05
Reply

Marsh Posté le 29-11-2010 à 22:41:33   

Reply

Marsh Posté le 29-11-2010 à 23:05:11    

C'est plutot gethostbyname dans ce cas.
 
Donne le code que tu utilises ou l'erreur que tu as parce que personne, a ma connaisance, n'a des dons de clairvoyance!


Message édité par mr simon le 29-11-2010 à 23:06:08
Reply

Marsh Posté le 29-11-2010 à 23:32:24    

voici le code :
 

Code :
  1. struct hostent *HostInfo;
  2. HostInfo = gethostbyname(Host.c_str());
  3. if (HostInfo == NULL)
  4.         {
  5.              textEditStatut->append("Unknown host " );
  6.         }
  7. else
  8.         {
  9.              textEditStatut->append(HostInfo->h_addr);
  10.         }


 
Host est un string contenant l'adresse du site
et dans mon textEditStatut j ai :
J}æRJ}æQJ}æTJ}æPJ}æSgoogle.fr
le Host contenant : google.fr


Message édité par Profil supprimé le 29-11-2010 à 23:37:11
Reply

Marsh Posté le 29-11-2010 à 23:46:34    

La structure hostent est définie ainsi dans <netdb.h> :
 
 
    struct hostent {
       char    *h_name;       /* Nom officiel de l'hôte.   */
       char   **h_aliases;    /* Liste d'alias.            */
       int      h_addrtype;   /* Type d'adresse de l'hôte. */
       int      h_length;     /* Longueur de l'adresse.    */
       char   **h_addr_list;  /* Liste d'adresses.         */
    }
    #define h_addr  h_addr_list[0] /* pour compatibilité.  */


 
 
C'est pas plutôt h_name que tu veux afficher ?

Reply

Marsh Posté le 29-11-2010 à 23:56:39    

le h_name me renvoie : google.fr
moi je voudrai qu'il me renvoie l'IP du serveur

Reply

Marsh Posté le 30-11-2010 à 00:03:22    

je pense que tu trouvera ton bonheur.

Reply

Marsh Posté le 30-11-2010 à 00:07:57    

merci beaucoup mec  
Sa marche  
grace a :
 
char * szLocalIP;
szLocalIP = inet_ntoa (*(struct in_addr *)*HostInfo->h_addr_list);
           

Reply

Marsh Posté le 30-11-2010 à 00:09:44    

Au plaisir.

Reply

Marsh Posté le 30-11-2010 à 01:20:57    

si sa t'intéresse je met les sources, le bin et tous se qu'il faut.


Message édité par Profil supprimé le 30-11-2010 à 03:28:45
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed