Vous n'êtes pas identifié.
Pages: 1 2
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
il te faut avoir la main sur le serveur -> langage irc / Mirc -> WHOIS
goto whois 
Hors ligne
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
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
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
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 
Hors ligne
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
<?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éjà réservé<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é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
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
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.
exec('whois '.$theNdd.$anExt,$myArray,$retval);Pour info je suis sous OVH.
Hors ligne
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
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
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
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 
Merci de comprendre
Hors ligne
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
ici stp 
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
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..
<?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é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éjà réservé<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é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
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
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 
Hors ligne
Pages: 1 2