PHP - Code vérifier la disponibilité d'un nom de domaine
20 messages • Page 1 sur 2 • 1, 2
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
PHP - Code vérifier la disponibilité d'un nom de domaine
Salut les Wrinautes !!
Apres des mois a surfer sur WRI je sais que beaucoup d'entre vous attendent ce code avec impatience. Il a été testé chez OVH sur 1 serveur mutualisé et retourne sans erreur la disponibilité d'un nom de domaine avec les extentions suivantes:
.com .eu .fr .net .org .info .ca .biz .de me.uk co.uk org.uk
Sans plus attendre, voici le code:
Apres des mois a surfer sur WRI je sais que beaucoup d'entre vous attendent ce code avec impatience. Il a été testé chez OVH sur 1 serveur mutualisé et retourne sans erreur la disponibilité d'un nom de domaine avec les extentions suivantes:
.com .eu .fr .net .org .info .ca .biz .de me.uk co.uk org.uk
Sans plus attendre, voici le code:
- Code: Tout sélectionner
<?php
$result = '';
$theNdd = trim($_POST['theNdd']);
$theExt = $_POST['theExt'];
if (!empty($theNdd) AND !empty($theExt)) {
$theNdd = preg_replace(array( '/http:\/\/www\./',
'/http:\/\//',
'/www\./' ),
array( '', '', '') ,$theNdd);
$theNdd = preg_replace(array( '/\.eu/',
'/\.fr/',
'/\.com/',
'/\.net/',
'/\.org/',
'/\.info/',
'/\.biz/',
'/\.de/',
'/\.me.uk/',
'/\.co.uk/',
'/\.org.uk/',
'/\.ca/' ),
array( '', '', '', '', '', '', '', '', '', '', '', '') ,$theNdd);
$theNdd = escapeshellcmd($theNdd);
//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 />";
}
}
?>
<form action="<?php echo $_SERVER['REQUEST_URI']; ?>" name="formVeirfNdd" enctype="multipart/form-data" method="post">
www.<input type="text" name="theNdd" value="<?php echo $theNdd; ?>" />
<input name="theExt[]" type="checkbox" value=".com" id="com" checked><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 '<h3>'.$result.'</h3>'; ?>
Dernière édition par KOogar le Ven Mar 28, 2008 11:16, édité 1 fois.
- capleton59
- WRInaute impliqué

- Messages: 302
- Inscription: Dim Avr 24, 2005 14:45
Merci je vais tester ça 
-

webmasterlamogere - WRInaute accro

- Messages: 1874
- Inscription: Dim Déc 17, 2006 21:08
sinon il y a des versions sans exec mais avec socket : http://www.cybwarrior.com/FR/download/PHP/WHOIS.html
webmasterlamogere a écrit:sinon il y a des versions sans exec mais avec socket : http://www.cybwarrior.com/FR/download/PHP/WHOIS.html
lu,
http://www.cybwarrior.com/download/dl/p ... /index.php
"Le nom de domaine phpsources.org semble libre" ...
ca ma l'air un peu foireux comme script..
DadouDuck a écrit:Enfin, il y a un problème, c'est que c'est très long pour tester
Pas chez moi
-

webmasterlamogere - WRInaute accro

- Messages: 1874
- Inscription: Dim Déc 17, 2006 21:08
KOogar a écrit:http://www.cybwarrior.com/download/dl/php/whois/index.php
"Le nom de domaine phpsources.org semble libre" ...
ca ma l'air un peu foireux comme script..
en effet ça marche pas avec les .org
le serveur whois interrogé ne doit pas être le bon
Bonjour,
Comment fait-on pour autoriser son propre serveur à pouvoir exécuter ces scripts whois ?
Depuis que je suis sur mon nouveau serveur, j'ai une erreur fsockopen :
Les techniciens me disent que c'est un problème de firewall et que c'est "mon" problème. Ils me l'avaient débloqué l'an passé sur le précédent serveur, mais rien à faire cette année.
.
Donc où peut-on régler ce problème ?
Serveur privé sur Linux, avec plesk8.3
J'ai accès au serveur par Putty et Winscp.
Si vous savez comment faire, ce sera super sympa de m'aider !
Comment fait-on pour autoriser son propre serveur à pouvoir exécuter ces scripts whois ?
Depuis que je suis sur mon nouveau serveur, j'ai une erreur fsockopen :
- Code: Tout sélectionner
Warning: fsockopen() [function.fsockopen]: unable to connect to whois.verisign-grs.com:43 (Connection timed out) in
Les techniciens me disent que c'est un problème de firewall et que c'est "mon" problème. Ils me l'avaient débloqué l'an passé sur le précédent serveur, mais rien à faire cette année.
Donc où peut-on régler ce problème ?
Serveur privé sur Linux, avec plesk8.3
J'ai accès au serveur par Putty et Winscp.
Si vous savez comment faire, ce sera super sympa de m'aider !
efz a écrit:Ton script fonctionne très bien, je le garde sous le coude, ça peut servir
Merci KOogar pour cette contribution
ps: une petite reco pour toi
c'est pas moi qui mérite la reco mais le script
Je viens de mettre la mouture définitive, j'ai préféré gérer les erreurs directement sans rapports.
Par exemple si le client met malencontreusement le "http://" dans la requete, au lieu de lui demander de l'enlever, le script le fait pour lui et le client peut continuer d'envoyer ses requêtes sans perdre de temps.
Le script est sympa sauf que le whois n'est pas un outil pour verifier la disponibilité d'un nom de domaine !
Pour verifier à coup sur la dispo d'un NDD, mieux vaut utiliser les API d'un registrar, c'est plus efficace et fiable
MADdanny
Pour verifier à coup sur la dispo d'un NDD, mieux vaut utiliser les API d'un registrar, c'est plus efficace et fiable
MADdanny
-

webmasterlamogere - WRInaute accro

- Messages: 1874
- Inscription: Dim Déc 17, 2006 21:08
J'ai trouvé l'API OVH. la spec est là : http://www.ovh.com/soapi/fr/domainCheck.xml
il suffit juste de renseigner son login et mot de passe OVH et remplacer example.com par le domaine a tester.
Ce script ne marche qu'en PHP5. il faut donc mettre une extension php5 ou ajouter la ligne suivante dans le .htaccess :
il suffit juste de renseigner son login et mot de passe OVH et remplacer example.com par le domaine a tester.
Ce script ne marche qu'en PHP5. il faut donc mettre une extension php5 ou ajouter la ligne suivante dans le .htaccess :
- Code: Tout sélectionner
SetEnv PHP_VER 5
- Code: Tout sélectionner
<?php
$soap = new SoapClient('http://www.ovh.com/soapi/ovh.wsdl');
//login
try {
$login = "XXXXX-ovh";
$password = "********";
$session = $soap->login($login,$password,null);
} catch(SoapFault $fault) {
echo "Error : ".$fault . '<br>';
}
//domainCheck
try {
$result = $soap->domainCheck($session, 'example.com');
foreach($result as $value) {
echo $value->reason . '<br>';
}
} catch(SoapFault $fault) {
echo "Error : ".$fault . '<br>';
}
//logout
try {
$result = $soap->logout($session);
} catch(SoapFault $fault) {
echo "Error : ".$fault . '<br>';
}
?>
20 messages • Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Changements de nom de domaine et TrustRank
- Comment éviter de se faire voler son nom de domaine...
- WebRankInfo lance un forum sur les noms de domaine
- Noms de domaine : Google se lance dans le marché
- AdSense propose le parrainage pour Google Apps
- Pour votre référencement, utilisez un nom de domaine !
- Yahoo poursuit les propriétaires de 1763 noms de domaine
- Vocabulaire du référencement : noms de domaine et URL
- Des détails sur Gmail, le webmail de Google
- Outil de test d'indexation Google + analyse de l'âge d'un site
- recupérer le nom de domaine en php ?
- PR, nom de domaine et index.php
- hebergeur avec nom de domaine, 100 Mo, et php
- [Lien] Hébergement gratuit (php / mysql / nom de domaine)
- Le top des hébergeurs PHP, MySQL + Nom de Domaine
- Comment convertir un code HTML en code PHP ?
- Code php avec code <iframe src=
- [???] php code en 1 ligne dans le code source
- Souci juridique sur un nom de domaine (nom de commune)
- [Résolu] Url Rewriting : index.php?id=nom devient /nom/
- trouver un nom de domaine .fr pour un nom d'entreprise long
- Nom français accentué et nom de domaine sans accent
- Nom de code : Puffin
- Nom de domaine contenant le nom d'une ville
- Importance du nom de domaine > structure de site nom de p
Consultez la description détaillée des produits ou services de Google suivants : Google Code, Google Apps Edition Premium
- Analyseur d'entête HTTP
Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée. - Liste de sous-domaines
Cet outil vous permet de trouver la liste des sous-domaines (indexés) d'un site.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités






le forum