Phpsources Forums

Vous n'êtes pas identifié.

#1 20-03-2008 08:11:42

maniT4c
Membre
Date d'inscription: 14-01-2008
Messages: 14
Site web

[Résolu] Script pour connaitre si un nom de domaine est libre ou pas

Bonjour quelqu'un aurait-il un script ou des infos pour savoir par où commencer pour créer ce script qui permettrait de déterminer si un nom de domaine donné est libre ou pas.

Merci d'avance.

Hors ligne

 

#2 20-03-2008 14:28:36

KOogar
Administrateur
Date d'inscription: 21-12-2007
Messages: 325
Site web

Re: [Résolu] Script pour connaitre si un nom de domaine est libre ou pas

il te faut avoir la main sur le serveur -> langage irc / Mirc  -> WHOIS

goto whois wink

Hors ligne

 

#3 21-03-2008 00:07:49

bcmfr
Membre
Lieu: Outarville 45
Date d'inscription: 14-12-2007
Messages: 35

Re: [Résolu] Script pour connaitre si un nom de domaine est libre ou pas

Slt
a cette adresse, j'ai trouvé ca, je sais pas si ca peut t'aider
http://www.dimension-internet.com/blog/ … de-domaine
à+

Hors ligne

 

#4 21-03-2008 08:05:28

KOogar
Administrateur
Date d'inscription: 21-12-2007
Messages: 325
Site web

Re: [Résolu] Script pour connaitre si un nom de domaine est libre ou pas

bcmfr a écrit:

Slt
a cette adresse, j'ai trouvé ca, je sais pas si ca peut t'aider
-http://www.dimension-internet.com/blog/index.php/2007/04/18/73-whois-en-php-pour-savoir-agrave-qui-appartient-un-nom-de-domaine
à+

Pas en ligne chez moi

Hors ligne

 

#5 21-03-2008 08:22:35

maniT4c
Membre
Date d'inscription: 14-01-2008
Messages: 14
Site web

Re: [Résolu] Script pour connaitre si un nom de domaine est libre ou pas

Merci pour vos conseil j'ai regarder le lien donné par bcmfr mais l'exemple sur le site semble buggé.

J'ai réussi à obtenir quelque chose en faisant appael au whois (merci koogar) mais je me retrouve avec des rapport différent selon chaque extension je m'attendais à un rapport commun en cas de NDD libre mais c'est pas le cas. En fait chaque demande du whois est traité par un organisme différent selon l'extension (afnic pour les .fr par exemple).

C'est un peu ennuyeux surtout que je ne trouve pas de point commun entre aucun des rapports retournés.

Hors ligne

 

#6 21-03-2008 10:00:55

KOogar
Administrateur
Date d'inscription: 21-12-2007
Messages: 325
Site web

Re: [Résolu] Script pour connaitre si un nom de domaine est libre ou pas

il faut déchiffrer pour chaque extention -> regex, regex, preg_match('(.*?)').... je peux 'aider si tu galere, faut que tu commence par voir ou se trouve la difference dans le rapport quand le NDD est libre ou achté et traiter chaque extention au cas pas cas. Apres c'est que du regex plus 1 simple test pour savoir si vrai ou faux

.com, .net, .org, .info, .biz, .fr, .be, .ca

OVH prépare un pack "Revendeurs"  dans les jours qui viennent, peut etre qu'il y aura l'achat des NDD inclus dans leur pack roll

Hors ligne

 

#7 21-03-2008 15:48:21

maniT4c
Membre
Date d'inscription: 14-01-2008
Messages: 14
Site web

Re: [Résolu] Script pour connaitre si un nom de domaine est libre ou pas

Bon j'ai réussi à créer mon script donc je le donne si ça vous intéresse et si vous avez des idée d'optimisation

Code:

<?php
$result="";
if ($_POST['theNdd']) {
    $theNdd=escapeshellcmd($_POST['theNdd']);
    $theExt=$_POST['theExt'];
    
    //on definit les case du tableau à vérifier
    $caseForVerif['.com']=7;
    $caseForVerif['.fr']=13;
    
    //on definit les phrase à vérifier dans ces cases
    $strForVerif['.com']='No match for "'.$theNdd.'.COM".';
    $strForVerif['.fr']='%% No entries found in the AFNIC Database.';
    
    

    foreach($theExt as $anExt) {
        $myArray="";
        $anExt=escapeshellcmd($anExt);
        exec('whois '.$theNdd.$anExt,$myArray,$retval);
        $result.=(strtolower($myArray[$caseForVerif[$anExt]])==strtolower($strForVerif[$anExt]))?$theNdd.$anExt." est libre<br/>":$theNdd.$anExt." est d&eacute;j&agrave; r&eacute;serv&eacute;<br />";
    }
}
?>
<form action="whois.php" name="formVeirfNdd" enctype="multipart/form-data" method="post">
<input type="text" name="theNdd" />
<input name="theExt[]" type="checkbox" value=".com" id="com"><label for="com">.com</label>
<input name="theExt[]" type="checkbox" value=".fr" id="fr"><label for="fr">.fr</label>
(sans les www)
<input type="submit" value="V&eacute;rifier">
</form>
<?php 
echo "<h1>".$result."</h1>";
 ?>

Pour l'instant il ne traite que les .com et les .fr mais il ne reste ensuite qu'à trouver la "phrase clef" pour chaque extension un print_r de $myArray permet de la trouver facilement.

Dernière modification par maniT4c (21-03-2008 17:33:36)

Hors ligne

 

#8 21-03-2008 16:31:15

KOogar
Administrateur
Date d'inscription: 21-12-2007
Messages: 325
Site web

Re: [Résolu] Script pour connaitre si un nom de domaine est libre ou pas

C'est sympa mais on comprend pas grand chose, il manque la connection au serveur. Tu as fais comment pour extraire les datas ? php ?

du genre :
fsockopen("whois.domain-registry.fr", 43);

Hors ligne

 

#9 21-03-2008 17:46:08

maniT4c
Membre
Date d'inscription: 14-01-2008
Messages: 14
Site web

Re: [Résolu] Script pour connaitre si un nom de domaine est libre ou pas

J'ai editer mon message il reste une ligne de code inutile.

J'ai un formulaire ou le visiteurs entre le nom de domaine et coche les extensions (ici .com et .fr)

Je fait une boucle sur le tableau theExt (qui contient les extensions cochées).

Dans cette boucle je récupère les infos du whois et je les enregistre dans le tableau $myArray.
Chaque rapport envoyé par le whois est différent donc j'ai repéré en faisant un print_r sur $myArray quel ligne était la plus "évidente". J'ai donc créér un tableau qui indique pour chaque extension quel ligne du tableau $myArray il faut regarder et un tableau qui contient pour chaque extension la phrase exacte à repérer.

C'est cette ligne qui enregistre dans le tableau $myArray les infos renvoyé par le whois.

Code:

exec('whois '.$theNdd.$anExt,$myArray,$retval);

Pour info je suis sous OVH.

Hors ligne

 

#10 22-03-2008 13:04:57

KOogar
Administrateur
Date d'inscription: 21-12-2007
Messages: 325
Site web

Re: [Résolu] Script pour connaitre si un nom de domaine est libre ou pas

Ca marche nickel, merci pour ce bout de code, ca serait super d'avoir les .org et .net !!

Tu n'arrives pas a inclure un preg_match('#(No match for|No entries found)#i',$data,$out) dans la condition ?

Hors ligne

 

#11 22-03-2008 17:10:36

maniT4c
Membre
Date d'inscription: 14-01-2008
Messages: 14
Site web

Re: [Résolu] Script pour connaitre si un nom de domaine est libre ou pas

Comme je le disait pour les autres extension il suffit de les rajouter dans les "checkbox" et de faire un print_r sur $myArray et de trouver la phrase clef qui indique que le NDD est libre ou pas (ainsi que le numéro de la ligne du tableau).

Je savais pas que l'on pouvait mettre des "ou" dans un pregMatch je vais regarder (sans doute mercredi d'autre chose à faire avant) mais je trouvais ça assez simple d'enregistrer les phrases clefs dans un tableau au cas ou les rapportq serait modifiéq par l'organisme (afnic ou autre) la mise à jour serait plus simple, quoi que...

Je doit rédiger un article sur "comment réserver son NDD" et y faire apparaitre ce script je reviendrais ici poster la page en question pour que cela servent d'exemple. Si bien sur cela ne dérange pas :).

En tout cas merci de m'avoir mis sur la voie.

Hors ligne

 

#12 23-03-2008 07:41:19

KOogar
Administrateur
Date d'inscription: 21-12-2007
Messages: 325
Site web

Re: [Résolu] Script pour connaitre si un nom de domaine est libre ou pas

Je suis arrivé a tous les avoir sauf le .be, pk le .be ? Impossible de tirer la  liste 2 fois de suite

j'avais commencé a integrer un regex a la place de strtolower($strForVerif[$anExt])) mais je me suis vite rendu compte que chaque format de rapport etait casse tête. Donc j'ai fait simple: quand le NDD est déja réservé, le rapport est toujours plus long. Donc j'ai pointer sur des cases inexistantent et c'est tout.

Vu que le shema des rapports ne devraient jamais bouger : le code devrait rester à  jour pour longtemps

Voila ce que j'ai eu sans probleme:
.com .eu .fr .net .org .info .ca .biz .de me.uk co.uk org.uk

Je t'ai envoyé un mail avec le code. Libre à toi de le diffuser. Je suis le premier interressé à prendre ton article et le publier en UNE de phpsources.

++

Hors ligne

 

#13 23-03-2008 15:45:42

maniT4c
Membre
Date d'inscription: 14-01-2008
Messages: 14
Site web

Re: [Résolu] Script pour connaitre si un nom de domaine est libre ou pas

Merci j'ai bien reçus ton email je regarde tous cela mercredi et reviens vers toi (par mail ou sur le forum).
Merci pour ton aide smile

Hors ligne

 

#14 25-03-2008 09:07:24

Matt
Membre
Date d'inscription: 22-11-2006
Messages: 74

Re: [Résolu] Script pour connaitre si un nom de domaine est libre ou pas

Merci pour ton mail aussi KOogar

C'est enorme, faut pas mettre ca en ligne !! Tout les petits malins vont ouvir ce service et ca va pas aider les referenceurs (dont moi..) et les hebergeurs à travailler normalement...

mettez ca en mode expert/initié si vous le faites en donnant que l'algo, pas le code wink

Merci de comprendre

Hors ligne

 

#15 25-03-2008 09:51:55

KOogar
Administrateur
Date d'inscription: 21-12-2007
Messages: 325
Site web

Re: [Résolu] Script pour connaitre si un nom de domaine est libre ou pas

Ben il est déjà la le code!! Moi je pense le contraire, plus il y aura de NDD de pris, plus on aura du travail ?

Hors ligne

 

#16 25-03-2008 10:19:02

maniT4c
Membre
Date d'inscription: 14-01-2008
Messages: 14
Site web

Re: [Résolu] Script pour connaitre si un nom de domaine est libre ou pas

je suis assez d'accord et puis si c'est pas ici qu'il sera posté c'est ailleurs donc smile

Hors ligne

 

#17 25-03-2008 14:05:53

KOogar
Administrateur
Date d'inscription: 21-12-2007
Messages: 325
Site web

Re: [Résolu] Script pour connaitre si un nom de domaine est libre ou pas

ici stp smile

tu me diras si de ton coté pour le .be ca passe. j'arrive pas comprendre pourquoi ca patine dès la seconde requete..

++

Hors ligne

 

#18 26-03-2008 22:31:11

maniT4c
Membre
Date d'inscription: 14-01-2008
Messages: 14
Site web

Re: [Résolu] Script pour connaitre si un nom de domaine est libre ou pas

Voila le code au final je n'ai pas trouvé de solution pour le .be qui en effet ne semble pas fonctionner comme les autres..

Code:

<?php 
include ('database.php');
 
$result="";
$erreur="";
if ($_POST['theNdd']) {
    //if(!ereg("^[0-9a-z-]*$", $_POST['theNdd']))
    if(preg_match("/^[a-z0-9\-_]+$/i", $_POST['theNdd'])==0)
        $erreur = 'Le format du nom de domaine est incorrect!<br />';
    if ($_POST['theExt']=="") 
        $erreur.="Vous devez s&eacute;lectionnez au moins une extension<br />";
 
    if(empty($erreur)) {
        $theNdd=escapeshellcmd($_POST['theNdd']);
          $theExt=$_POST['theExt'];
 
        //on definit les case du tableau à vérifier
        $caseForVerif['.net']=7;
        $caseForVerif['.com']=7;
        $caseForVerif['.org']=0;
        $caseForVerif['.fr']=13;
        $caseForVerif['.ca']=5;
        $caseForVerif['.info']=0;
        $caseForVerif['.biz']=1;
        $caseForVerif['.de']=35;
        $caseForVerif['.eu']=50;
        $caseForVerif['.me.uk']=30;
        $caseForVerif['.co.uk']=30;
        $caseForVerif['.org.uk']=40;
        //on definit les phrase à vérifier dans ces cases
        $strForVerif['.com']='No match for "'.$theNdd.'.COM".';
        $strForVerif['.fr']='%% No entries found in the AFNIC Database.';
        $strForVerif['.net']='No match for "'.$theNdd.'.NET".';
        $strForVerif['.org']='NOT FOUND';
        $strForVerif['.ca']='';
        $strForVerif['.info']='NOT FOUND';
        $strForVerif['.biz']='';
        $strForVerif['.de']='';
        $strForVerif['.eu']='';
        $strForVerif['.me.uk']='';
        $strForVerif['.co.uk']='';
        $strForVerif['.org.uk']='';
        foreach($theExt as $anExt) {
            $myArray="";
            $anExt=escapeshellcmd($anExt);
            exec('whois '.$theNdd.$anExt,$myArray,$retval);
               $result.=(strtolower($myArray[$caseForVerif[$anExt]])==strtolower($strForVerif[$anExt]))?"- ".$theNdd.$anExt." est libre<br/>":"- ".$theNdd.$anExt." est d&eacute;j&agrave; r&eacute;serv&eacute;<br />";
            //Pour afficher le rapport dé-commantez les 3 lignes ci-dessous
              /*echo "<h1>rapport pour ".$anExt."</h1><pre>";
              print_r($myArray);
              echo "</pre>";*/
        }
    }
    $result=$erreur.$result;
}
?>

<form action="index.php" name="formVeirfNdd" enctype="multipart/form-data" method="post">
<input type="text" name="theNdd" value="<?php echo $_POST['theNdd']; ?>" />(sans les www)
<input name="theExt[]" type="checkbox" value=".com" id="com"><label for="com">.com</label>
<input name="theExt[]" type="checkbox" value=".eu" id="eu"><label for="eu">.eu</label>
<input name="theExt[]" type="checkbox" value=".fr" id="fr"><label for="fr">.fr</label>
<input name="theExt[]" type="checkbox" value=".net" id="net"><label for="net">.net</label>
<input name="theExt[]" type="checkbox" value=".org" id="org"><label for="org">.org</label>
<input name="theExt[]" type="checkbox" value=".info" id="info"><label for="info">.info</label>
<input name="theExt[]" type="checkbox" value=".ca" id="ca"><label for="ca">.ca</label>
<input name="theExt[]" type="checkbox" value=".biz" id="biz"><label for="biz">.biz</label>
<input name="theExt[]" type="checkbox" value=".de" id="de"><label for="de">.de</label>
<input name="theExt[]" type="checkbox" value=".me.uk" id="me.uk"><label for="me.uk">.me.uk</label>
<input name="theExt[]" type="checkbox" value=".co.uk" id="co.uk"><label for="co.uk">.co.uk</label>
<input name="theExt[]" type="checkbox" value=".org.uk" id="org.uk"><label for="org.uk">.org.uk</label>
<input type="submit" value="V&eacute;rifier">
</form>
<?php 
echo "<h1>".$erreur."".$result."</h1>";
 ?>

En guise de démo je vous propose de regarder cette page ou j'utilise ce script et vous y trouverez un petit article pour les non-initié.
Comment bien choisir son nom de domaine

Hors ligne

 

#19 27-03-2008 22:17:49

KOogar
Administrateur
Date d'inscription: 21-12-2007
Messages: 325
Site web

Re: [Résolu] Script pour connaitre si un nom de domaine est libre ou pas

lu

oups pour l'article... je croyais que tu le posterais sur ce site...

Sinon il est bien, assez commun car ce que tu dit est deja dit et répété 10 000 fois sur le Net. Tu aurais pu parler de l'interet de prendre une extention .fr pour mieux ressortir sur google.fr, de l'extention .com....

Un mot clef ne veut pas dire grand chose.. Pour donner du sel a l'article j'aurais plutot parler de la pertinence des mots, des stop words, des mots concurentiel, non concurentiel, des expressions, avec ou sans tiret, les ndd se compte en nombre de lettres et pas en nombre de mots, pourquoi?...

voili voilou, gros regret que tu es decidé de le poster sur un autre site

tu es plus que welcome ici

++
Amicalement
KOogar

Hors ligne

 

#20 28-03-2008 08:07:46

maniT4c
Membre
Date d'inscription: 14-01-2008
Messages: 14
Site web

Re: [Résolu] Script pour connaitre si un nom de domaine est libre ou pas

Le site en question est mon site pro pour le quel je rédige de temps en temps des articles qui cible des futurs clients. Ce sont donc des personnes pour qui la notion de stop word ou optimisation non pas beaucoup de sens. Je pense même que cet article est déjà un peu compliqué pour eux. (ne pas voir dans cette phrase un avis péjoratif, chacun son métier c'est normal qu'un maçon ai du mal à comprendre comment référencer un site. De mon coté je ne sais pas monter un mur de brique :p)

Voila pourquoi mon article est volontairement généraliste et simple. Le but est d'aider les "novices" à ne pas faire d'erreur et à faire les bon choix lorsqu'il décide d'acheter un site.

Merci pour l'accueil smile

Hors ligne

 

Pied de page des forums

Propulsé par
PunBB