Apprendre à programmer

Comment obtenir le nom de domaine à partir d’une URL en utilisant PHP ?

Dans ce guide, nous vous expliquerons comment extraire le nom de domaine à partir d’une URL en utilisant PHP.

Contexte

Dans le monde d’Internet et des sites Web, on utilise souvent les termes “nom de domaine” et “URL” de manière interchangeable, bien qu’ils désignent en réalité des concepts différents. Pour éclaircir ces distinctions, voici quelques exemples concrets :

  1. Nom de domaine : Un nom de domaine est l’adresse textuelle conviviale utilisée pour accéder à un site Web. Par exemple, dans “www.exemple.com”, “exemple.com” est le nom de domaine.
  2. URL : Une URL (Uniform Resource Locator) est une chaîne de caractères qui spécifie l’emplacement précis d’une ressource sur Internet. Par exemple, dans “https://www.exemple.com/page/accueil”, l’URL complète pointe vers la page d’accueil du site “exemple.com”.

En comprenant ces différences, vous serez en mesure de distinguer clairement entre un nom de domaine et une URL lors de votre navigation sur le Web.

Nom de domaine :

Identifier une adresse IP de serveur peut s’avérer complexe. C’est pourquoi le nom de domaine offre une représentation textuelle de cette adresse, offrant une meilleure convivialité et facilitant la mémorisation. Il constitue une composante essentielle de l’URL, principalement utilisée pour renforcer l’image de marque d’une organisation. Les points séparent généralement les différentes parties du nom de domaine. Pour illustrer cela, prenons l’exemple de “www.lecoursgratuit.com“. Un nom de domaine se décompose en plusieurs éléments, dont :

  • Type de serveur : Le préfixe www ou World Wide Web indique qu’il s’agit d’un serveur Web.
  • Nom d’hôte : Il s’agit généralement du nom principal du domaine, comme Lecoursgratuit, Google, etc.

Domaine de premier niveau

La portion finale du nom de domaine est ce que l’on appelle le domaine de premier niveau. Il s’agit notamment des extensions telles que .com, .in, .au, et bien d’autres.

Localisateur de ressources uniforme :

Les gens utilisent couramment le terme “URL” pour désigner la ressource uniforme. Une URL est une séquence de caractères qui fournit l’adresse complète d’une page Web, ce qui en fait également une adresse Web. Pour accéder à un site Web spécifique, il vous suffit de saisir l’URL dans la barre de recherche de votre navigateur. Par exemple, l’adresse Web de la page d’accueil de Google est https://www.google.com/. Une URL peut être décomposée en plusieurs composantes.

Méthode ou protocole :

Cette partie de l’URL indique la méthode ou le protocole utilisé pour récupérer le fichier à partir du serveur.

Nom d’hôte : Aussi connu sous le nom de nom de domaine, il représente la version conviviale sous forme de texte de l’adresse IP du serveur où le fichier ou le document est hébergé.

Port : Il s’agit essentiellement d’un identifiant de protocole, servant simplement de point de terminaison pour la communication.

Chemin : Il désigne l’emplacement précis du fichier sur le serveur.

Utilisation de la fonction PHP gethostbyname() pour la résolution de noms d’hôtes

La méthode gethostbyname() en PHP est principalement utilisée pour obtenir l’adresse IP associée à un nom d’hôte. Voici un exemple d’utilisation pour trouver l’adresse IP d’un nom de domaine :

$hostname = "www.google.com";
$ip = gethostbyname($hostname);
echo "L'adresse IP de $hostname est : $ip";

Dans cet exemple, nous utilisons la variable $hostname pour stocker le nom de domaine que nous voulons résoudre (dans ce cas, “www.google.com”). Ensuite, nous utilisons gethostbyname($hostname) pour obtenir l’adresse IP correspondante à ce nom de domaine, que nous affichons ensuite à l’écran.

N’oubliez pas que la résolution de noms d’hôtes peut dépendre de la configuration DNS du serveur sur lequel s’exécute le script PHP.

Utilisation de gethostbynamel en PHP pour obtenir une liste d’adresses IP associées à un nom d’Hôte

Une fonction apparentée à gethostbyname est gethostbynamel. Elle permet d’acquérir une liste exhaustive des adresses IP reliées à un nom d’hôte particulier. Cette fonction se révèle particulièrement avantageuse pour les serveurs qui gèrent plusieurs adresses IP virtuelles.

Voici un exemple d’utilisation de la fonction PHP gethostbynamel() pour obtenir une liste d’adresses IP associées à un nom d’hôte spécifique :

$hostname = "www.google.com";
$ipList = gethostbynamel($hostname);

if ($ipList) {
    echo "Adresses IP associées à $hostname :<br>";
    foreach ($ipList as $ip) {
        echo "$ip<br>";
    }
} else {
    echo "Aucune adresse IP trouvée pour $hostname.";
}

Dans cet exemple, nous utilisons la variable $hostname pour stocker le nom d’hôte que nous voulons résoudre (dans ce cas, “www.google.com”). Ensuite, nous utilisons gethostbynamel($hostname) pour obtenir une liste d’adresses IP associées à ce nom de domaine. Si nous trouvons des adresses IP, nous les affichons à l’écran. Si nous ne trouvons aucune adresse IP, nous affichons un message indiquant qu’aucune adresse IP n’a été trouvée.

Cette fonction est particulièrement utile pour les serveurs qui gèrent plusieurs adresses IP virtuelles, car elle permet d’obtenir toutes les adresses IP associées à un nom d’hôte donné.

Utilisation de boucles pour itérer à travers les adresses IP obtenues avec gethostbynamel()

Une boucle ordinaire est amplement suffisante pour parcourir toutes les valeurs que contitent le tableau et que la fonction gethostbynamel() génère. Dans l’exemple suivant, nous avons utilisé une boucle for. Cependant, nous aurions pu obtenir le même résultat en utilisant une boucle foreach. Cette approche permet de résoudre la problématique consistant à itérer à travers les adresses IP fournies par la fonction gethostbynamel().

Voici un exemple similaire à celui que vous avez fourni, mais avec une correction de quelques erreurs :

Paramètre de nom d’hôte/fonction

$hostname = “lecoursgratuit.com”;

Traduction du nom d’hôte en adresses IP

$ip_addresses = gethostbynamel($hostname);

Affichage des adresses IP en sortie

if (is_array($ip_addresses)) {
echo “Les adresses IP de $hostname sont :
\n”;
foreach ($ip_addresses as $ip) {
echo $ip . “
\n”;
}
} else {
# Avertissement si le tableau n’est pas généré
echo “Aucune adresse IP détectée pour $hostname.”;
}

Cette correction inclut les changements suivants :

  1. Changement de $adresse_ip en $ip_addresses pour correspondre à la variable utilisée ultérieurement.
  2. Correction de l’opérateur de concaténation (.) pour les chaînes dans les instructions echo.
  3. Utilisation de is_array($ip_addresses) pour vérifier si le tableau d’adresses IP est généré correctement.
  4. Mise à jour du message d’avertissement si aucune adresse IP n’est trouvée.

Avec ces modifications, le code fonctionnera correctement pour obtenir les adresses IP associées au nom d’hôte spécifié.


Autres articles

QCM en programmation - Exemple PDF
La programmation est devenue une compétence incontournable dans le monde...
Read more
Introduction à la Programmation Orientée Objet (POO)
Cet article vise à : Comprendre les concepts fondamentaux de la...
Read more
Librairies et Fonctions en PHP : Guide...
Le langage PHP (Hypertext Preprocessor) est largement utilisé pour le...
Read more

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *