moteur de recherche de nom de domaine

moteur de recherche de nom de domaine - PHP - Programmation

Marsh Posté le 23-02-2005 à 14:20:25    

Bonjour les gens
 
J'aimerai implementer sur le site de ma boite un moteur de vérification de nom de domaine comme sur OVH. Vous savez si c'est possible gratuitement ?
Ou ptet pour les requetes je suis obligé de passer par un organisme payant.
Parce que j'en ai trouvé un gratuit le résultat de la recherche s'affiche sur la page du site en question. Et moi j'aimerai que tout s'affiche sur mon site.

Reply

Marsh Posté le 23-02-2005 à 14:20:25   

Reply

Marsh Posté le 23-02-2005 à 14:34:39    

je ne sais plus quelle fonction permet de tenter un connexion a un serveur mais je sais quelle retourne une erreur dans le cas ou la connexion échoue donc avec le code suivant tu devrais pouvoir t'en sortir.  
if( @fonction() ) { echo "Serveur existant"; }
 
L'ennui avec cette methode est que si le serveur est temporairement hors service, il est considéré comme innexistant. Pour la fonction en question, reste à voir sur http://www.php.net/manual/fr
 
Edit: Du coté des fonctions appache me semble-t-il.


Message édité par dwogsi le 23-02-2005 à 14:37:46
Reply

Marsh Posté le 23-02-2005 à 14:51:52    

skynicko > Tu veux faire quoi précisément?
1) Trouver les sous domaine du nom de domaine entré?
2) vérifier l'existance réelle du nom de domaine demandé? (bref, se conecter à un DNS poour vérifier ça)
3) vérifier que le sous domaine (du nom de domaine que tu gére) demandé est encore libre?

Reply

Marsh Posté le 23-02-2005 à 14:55:53    

ce que j'aimerai c'est depuis mon site me connecter à un dns pour vérifier ça. Enfin si c'est possible j'ai fait des recherches sur le net mais je trouve rien

Reply

Marsh Posté le 23-02-2005 à 14:59:07    

euhhhhhh checkdnsrr () pour ca ...
http://fr3.php.net/manual/fr/function.checkdnsrr.php


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 23-02-2005 à 14:59:45    

tu peux faire un ping..
 
http://ch2.php.net/sockets


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 23-02-2005 à 15:02:01    

Il y a la fonction socket qui permet de se conecter sur un port donnée d'une machine. Mais derréire, il faut gérer soit même l'intégralité du protocole attendus par le serveur.
 
Sinon, tu peu faire joujou avec la fonction "gethostbyname" qui te retourne l'adresse IP corespondant au nom de domaine indiqué.
 
Je sais s'il y a des fonctions plus proche de ce que tu veux faire.

Reply

Marsh Posté le 23-02-2005 à 15:02:47    

JagStang > Le ping peut être interdit sur n'importe quel serveur muni d'un firewall. Ce n'est donc pas la bonne méthode.

Reply

Marsh Posté le 23-02-2005 à 15:04:53    

merci pour ses conseils je vais tester ça.

Reply

Marsh Posté le 23-02-2005 à 15:34:24    

j'ai reussi à faire un truc qui fonctione avec la fonction "gethostbyname". Mais je me pause la question suivante. Si le serveur est mort il n'y aura pas de réponse, donc ça voudra dire que le nom de domaine est libre ce qui n'est pas forcement le cas. Quelqu'un à une parade à ceci

Reply

Marsh Posté le 23-02-2005 à 15:34:24   

Reply

Marsh Posté le 23-02-2005 à 15:41:16    

gethostbyname te donne l'adressse IP qu'est celui du serveur, mais ne contacte pas le serveur en question. Avec cette fonction, on s'en fiche que le serveur soit mort ou vivant, le seul truc qu'on vérifie c'est que le serveur DNS conaisse une adresse IP pour le nom de domaine qu'on cherche à vérifier.

Reply

Marsh Posté le 23-02-2005 à 15:52:38    

ça tue alors c'est ce dont j'avais besoin merci les gens

Reply

Marsh Posté le 23-02-2005 à 15:58:47    

Ah non j'ai un petit probleme:
J'ai "call to undefined function" pour la ligne suivante :
 
testipaddress($nametotest);


Message édité par skynicko le 23-02-2005 à 15:59:02
Reply

Marsh Posté le 23-02-2005 à 16:02:51    

elle est défini où ta fonction?

Reply

Marsh Posté le 23-02-2005 à 16:14:22    

Je capte pas pourquoi ça beug
 

Code :
  1. <?php
  2. if (isset($_POST['domain']) && isset($_POST['ext']))
  3. {
  4.    $nametotest = @$_POST['domain'].'.'.@$_POST['ext'];
  5.    testipaddress($nametotest); 
  6. function testipaddress ($nametotest) {
  7.    $ipaddress = $nametotest;
  8.    $ipaddress = gethostbyname($nametotest);
  9.    if ($ipaddress == $nametotest) {
  10.        echo "Le nom de domaine est disponible "
  11.              . "<br />";
  12.    }
  13.    else {
  14.        echo "Le nom de domaine est d&eacute;j&agrave; r&eacute;serv&eacute;<br />";
  15.    }
  16. }
  17. }
  18. ?>


Message édité par skynicko le 23-02-2005 à 16:14:41
Reply

Marsh Posté le 23-02-2005 à 16:33:21    

Ne jamais mettre une fonction au milieu d'une autre fonction ou du code qu'est en dehors de toutes les fonctions.
Ca complique beaucoup la relecture du code.
 
En PHP3, une fois, j'avais eu un probléme analogue, il falait que la fonction soit mise pluus haut dans le fichiersinon, il la trouvait pas. peut être que t'as le même probléme. Met donc ta fonction juste aprés le "<?php" .

Reply

Marsh Posté le 23-02-2005 à 16:36:02    

Hmmm, petite remarque :
Si le but est de savoir si un nom de domaine est "occupe" ou non, alors vous devez regarder du cote de "whois".
 
Toutes les autres methodes ne sont pas exactes et peuvent vous donner des resultats faux.
 
Exemple :
J'achete un nom de domaine, mais pas d'hebergement. Je paye le nom de domaine uniquement. N'ayant pas de d'hebergement, je n'ai pas de dns. Resultat :
1) Ping : marche pas, pas de dns => pas d'ip. Si le serveur a un firewall, ca ne marche pas.
2) Dns : Marche pas, pas d'hebergement => pas de "primary" dns => pas d'ip
3) gethostbyname : pas d'hebergement => pas de dns => pas de "resolution inverse".
4) whois : connexion au whois de l'organisme qui se charge des noms de domaine de cette zone (style whois.internic.com). Requete whois => fonctionne meme sans dns et sans hebergement.

Reply

Marsh Posté le 23-02-2005 à 16:38:50    

daccord mais comment on l'utilise le whois avec php. Est ce que je suis obligé de passer par internic ou un truc dans le genre pour la requete ?
 
ps : merci omega2 c'est vrai que j'avais tres mal structuré mon code. Maintenant ça marche


Message édité par skynicko le 23-02-2005 à 16:41:26
Reply

Marsh Posté le 23-02-2005 à 17:15:11    

Ben whois est un protocole, si je me trompe pas, donc "suffit" d'implementer l'edit protocole en php.
 
La premiere etape serait de trouver la description du protocole. Ensuite tu peux attaquer le code.
Le code sera un fsockopen, puis des fwrite et fread.

Reply

Marsh Posté le 23-02-2005 à 17:17:47    

cerel a écrit :

Ben whois est un protocole, si je me trompe pas, donc "suffit" d'implementer l'edit protocole en php.
 
La premiere etape serait de trouver la description du protocole. Ensuite tu peux attaquer le code.
Le code sera un fsockopen, puis des fwrite et fread.


 
Et bien j'en connais un qui va pas bcp dormir cette nuit, le temps de comprendre comment marche ce fichi protocole

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed