• 6 heures
  • Difficile

Ce cours est visible gratuitement en ligne.

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 06/02/2020

TP : Convertissez l'adresse IP ou l'URL d'un site avec un DNS

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Dans ce TP, je vais vous demander d'utiliser l'objet InetAddress pour récupérer, en fonction de ce que vous allez saisir, soit l'adresse IP d'une adresse internet, soit le nom de domaine d'une adresse IP V4.

Votre mission, si vous l'acceptez...

... sera de créer quelque chose comme ça :

Rendu du programme
Rendu du programme

Certaines adresses IP ne renverront peut-être pas de nom de domaine, mais ce n'est pas grave. :)

Alors, à vos claviers !

Correction

Voici mon code en guise de correction. On pourrait apporter plein d’améliorations à ce code pour optimiser sa performance, mais pour l’instant, il assure le minimum vital demandé, ce qui est déjà pas mal ! :)

import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Scanner;


public class Lookup {

   public static void main(String[] args) {
     
      Scanner sc = new Scanner(System.in);

      while(true){
         System.out.println("---------------------------------------------------");
         System.out.println("Saisissez une adresse IPV4 ou un nom de domaine : ");
         System.out.println("---------------------------------------------------");
         String hote = sc.nextLine();
         if(hote.equalsIgnoreCase("fin")){
            break;
         }
         System.out.println("Voici le résultat trouvé : ");
         System.out.println(lookup(hote));
      }
      
      System.out.println("Fin du programme");
   }
   
   public static String lookup(String host){
      String result = "";
      
      try {
         //Il s'agit d'un nom de domaine et non d'une adresse IPV4
         if(host.matches("[a-zA-Z\\.]+")){
            result = InetAddress.getByName(host).getHostAddress();
         }
         //IP V4
         else{
            result = InetAddress.getByName(host).getHostName();  
         }
      } catch (UnknownHostException e) {
         return "Erreur : impossible de trouver une correspondance pour l'entrée " + host;
      }  
      return result;
   }
}

Voilà, ce TP n’était pas d’une difficulté extraordinaire, mais il vous aura fait pratiquer un peu histoire de vous échauffer les neurones pour la suite, continuons donc ! :) 

Exemple de certificat de réussite
Exemple de certificat de réussite