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

      Information sur le code

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


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 371  vues
Compatibilité du code
PHP 5, PHP 7 et PHP 8
  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    
                               
/*------------------------------*/
/*
Titre : Savoir si un Nom de domaine est réservé avec le WHOIS

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 tous les éléments d'un tableau ou dans un objet Countable
PHP 4, 5, 7 et 8
    die
Alias de la fonction exit
PHP 4, 5, 7 et 8
    explode
Scinde une chaîne de caractères 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
Récupère la ligne courante à partir de l'emplacement du pointeur sur fichier
PHP 4, 5, 7 et 8
    fputs
Alias de fwrite
PHP 4, 5, 7 et 8
    fsockopen
Ouvre un socket de connexion Internet ou Unix
PHP 4, 5, 7 et 8
    isset
Détermine si une variable est déclarée et est différente de null
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 en début et fin de chaîne
PHP 4, 5, 7 et 8

[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 tres particulier le WHOIS, tout dépend de la localisation du serveur qui envoie la requete. Faut comprendre, les serveurs NIC recoivent des millions de requetes 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éresser

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.

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

  Les derniers scripts PHP / MySQL

NopCommerce 4.90.4

logo nopCommerce
Langue langue fr
Date  hier
Taille 41 Mo
Catégorie Ecommerce

Zen Cart 2.1.0

logo Zen Cart
Langue langue fr
Date 19 Mars 2026
Taille 12 Mo
Catégorie Ecommerce

WBCE 1.6.5

logo WBCE
Langue langue fr
Date 19 Mars 2026
Taille 11 Mo
Catégorie CMS

Grav 1.7.49.5

logo Grav
Langue langue fr
Date 19 Mars 2026
Taille 18 Mo
Catégorie CMS

CSZ-CMS 1.3.2

logo CSZ-CMS
Langue langue en
Date 18 Mars 2026
Taille 1 Mo
Catégorie CMS

HTML Purifier 4.19.0

logo HTML Purifier
Langue langue us
Date 18 Mars 2026
Taille 0.41 Mo
Catégorie Codes
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 371 Vues
Compatibilité du code
PHP 5, PHP 7, PHP 8