Savoir si un Nom de domaine est réservé avec le WHOIS

  Information

Ce code fonctionne simplement en le lançant, j'ai seulement mis le NIC fr, a vous de rajouter des nic a jour dans le tableau $servers[]

Pour avoir la liste des NIC vous trouverez des ressources sur wikipedia: http://de.wikipedia.org/wiki/Whois

  code source classé dans  Applications

 
 01    
 02    
 03    
 04    
 05    
 06    
 07    
 08    
 09    
 10    
 11    
 12    
 13    
 14    
 15    
 16    
 17    
 18    
 19    
 20    
 21    
 22    
 23    
 24    
 25    
 26    
 27    
 28    
 29    
 30    
 31    
 32    
 33    
 34    
 35    
 36    
 37    
 38    
 39    
 40    
 41    
 42    
 43    
 44    
 45    
 46    
 47    
 48    
 49    
 50    
 51    
 52    
 53    
 54    
 55    
 56    
 57    
 58    
 59    
 60    
                               
/*---------------------------------------------------------------*/
/*
Titre : Savoir si un Nom de domaine est réservé avec le WHOIS

URL : https://phpsources.net/code_s.php?id=1078
Auteur : sheppy1
Date édition : 25 Juil 2019
Date mise a jour : 13 Aout 2019

Rapport de la maj:
- fonctionnement du code vérifié
Date mise a jour : 21 Jan 2026

Rapport de la maj:
- fonctionnement du code vérifié en PHP 8
*/
/*---------------------------------------------------------------*/
function whois_query($domain) {

// fix the domain name:
$domain = strtolower(trim($domain));
$domain = preg_replace('/^http:\/\//i', '', $domain);
$domain = preg_replace('/^www\./i', '', $domain);
$domain = explode('/', $domain);
$domain = trim($domain[0]);

// split the TLD from domain name
$_domain = explode('.', $domain);
$lst = count($_domain)-1;
$ext = $_domain[$lst];

$servers = array(

// "net" => "whois.internic.net",
// "com" => "whois.internic.net",
"fr" => "whois.nic.fr"

);

if (!isset($servers[$ext])){
die('Erreur: Aucun serveur nic correspondant de trouver!');
}

$nic_server = $servers[$ext];

$output = '';

// connect to whois server:
if ($conn = fsockopen ($nic_server, 43)) {
fputs($conn, $domain."\r\n");
while(!feof($conn)) {
$output .= fgets($conn,128);
}
fclose($conn);
}
else { die('Erreur: Impossible de se connecter a ' . $nic_server . '!'); }

return $output;
}
?>

Exemple :

 
 01    
 02    
 03    
 04    
 05    
 06    
                                
print whois_query('elysee.fr');
// Affiche (le message ici est cropé volontairement)
// (...) type: ORGANIZATION contact: CELLULE ...
// address: CELLULE RESEAU DE LA pres....
// Branly address: ....
?>

      Fonctions du code - Doc officielle PHP

Détail    php.net  
Description
Versions PHP
   array
Crée un tableau
PHP 4, 5, 7 et 8
   count
Compte le nombre d'éléments d'un tableau ou le nombre de propriétés d'un objet
PHP 4, 5, 7 et 8
   die
Alias de la fonction exit()
PHP 4, 5, 7 et 8
   explode
Coupe une chaîne en segments
PHP 4, 5, 7 et 8
   fclose
Ferme un fichier
PHP 4, 5, 7 et 8
   feof
Teste la fin du fichier
PHP 4, 5, 7 et 8
   fgets
Renvoie la ligne courante sur laquelle se trouve le pointeur du fichier
PHP 4, 5, 7 et 8
   fputs
Alias de fwrite()
PHP 4, 5, 7 et 8
   fsockopen
Ouvre une socket de connexion Internet ou Unix
PHP 4, 5, 7 et 8
   isset
Détermine si une variable est affectée
PHP 4, 5, 7 et 8
   preg_replace
Rechercher et remplacer par expression rationnelle standard
PHP 4, 5, 7 et 8
   print
Affiche une chaîne de caractères
PHP 4, 5, 7 et 8
   return
Retourne le controle du programme au module appelant.
PHP 4, 5, 7 et 8
   strtolower
Renvoie une chaîne en minuscules
PHP 4, 5, 7 et 8
   trim
Supprime les espaces (ou d'autres caractères) en début et fin de chaîne
PHP 4, 5, 7 et 8

   Un petit merci aux auteurs pour leur travail, ça ne coûte rien et ça fait toujours plaisir wink

[2]

  • avatar

    Sheppy1

    25 Juil 2019 à 16:35

    Elle est pas bridé dans le sens ou il faut juste ajouter les serveurs NIC.  Je n'ai mis que le FR car il est important que chaque serveur NIC soit interrogé 1 par 1. On interroge pas un serveur NIC comme ca, par ex essayez d'interroger le NIC DE a partir d'un serveur FR ca ne va pas passer. Idem, si un serveur chinois interroge le NIC FR il va se faire jeter. C'est vraiment très particulier le WHOIS, tout dépend de la localisation du serveur qui envoie la requête. Faut comprendre, les serveurs NIC reçoivent des millions de requêtes par jour, ils filtrent au maximum.

  • avatar

    Administrateur

    25 Juil 2019 à 16:16

    Merci pour ta contribution, pourquoi avoir bridé ta fonction au NIC fr ?


 Autres snippets qui pourraient vous intéressez

Savoir si plusieurs Nom de Domaines sont réservés

Compatibilité : PHP 5, PHP 7, PHP 8

Fonction fiable permettant d'effectuer une recherche de disponibilité d'un nom de domaine auprès des serveurs whois.

Partager la meme session sur votre domaine et sous domaine

Compatibilité : PHP 5, PHP 7, PHP 8

Ce code permet à votre domaine et à vos sous domaines de partager la même session. Attention à ne pas mettre de texte, de html avant ce code.

Savoir si le serveur FTP est disponible / en ligne - PHP Sources

Compatibilité : PHP 5, PHP 7, PHP 8

Si vous avez des problèmes de connection avec votre FTP, voici un code qui vous permet de savoir si le serveur FTP est disponible ou ne l'est pas.

Savoir si 1 valeur de session a déjà été déclaré

Compatibilité : PHP 5, PHP 7, PHP 8

Savoir si une valeur appartient déjà à la session.

Test une chaine pour savoir si c'est de l'UTF8 via PHP

Compatibilité : PHP 5, PHP 7, PHP 8

Pour vos passages de la norme ISO à la norme UTF8, test utile pour savoir si vous devez ou non ré encoder en UTF8

* Requêtes exécutées avec Recherche Contextuelle
avatar

Sheppy1

  25 Juil 2019

  SOURCE   Télécharger

Information sur les mises à jour

Dernière mise à jour :

    13 Aout 2019
    fonctionnement du code vérifié

    21 Jan 2026
    fonctionnement du code vérifié en PHP 8

2 296 Vues
Compatibilité du code
PHP 5, 7 et 8+