Php et Whois

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

kagura
Nouveau WRInaute
 
Messages: 9
Inscription: Ven Jan 20, 2006 18:17

Php et Whois

Message le Dim Oct 15, 2006 17:16

Bonjour tout le monde,
Je souhaite savoir si quelqu'un dejà essayé de faire un whois pour un site avec php.
J'ai essayé de chercher et de modifier et tout, mais ça marche juste pour l extention que l utilisateur choisit.
Je veux que quand l utilisateur choisit le nom de domaine et l extension, il me donne un tableau ou il y a toutes les extensions avec une mention si le nom de domaine existe ou pas pour chaque extensions.
Merci mille fois pour votre aide.


dmathieu
Modérateur
Modérateur
 
Messages: 6910
Inscription: Ven Jan 09, 2004 16:21

Message le Dim Oct 15, 2006 17:35

Eh bien, il faut que tu récupère le domaine sans l'extension (explode('.', $str) te retourne un tableau contenant l'information)

Et que tu recherche, pour chaque extension, si elle est disponible ou non.

kagura
Nouveau WRInaute
 
Messages: 9
Inscription: Ven Jan 20, 2006 18:17

Message le Mar Oct 17, 2006 12:40

Code: Tout sélectionner
$whois_servers = array(
   "biz"=>"whois.pacificroot.com",
   "com"=>"rs.internic.net",
   "info"=>"whois.afilias.net",
   "ma"=>"whois.ripe.net",
   "net"=>"rs.internic.net",
   "org"=>"rs.internic.net"
   );
foreach($whois_servers as $cle=>$valeur)
{
   $domain = $domaine.$cle;
   if($domain)
   {
      $parsedom = explode(".", $domain);
      $host = $whois_servers[strtolower($parsedom[count($parsedom) - 1])];
      $fp = fsockopen($domain, 80, $errno, $errstr, 30);
      if (!$fp)
      {
         echo "$errstr ($errno)<br />\n";
      }
      else
      {
         fwrite($fp, $domain);   
         while (!feof($fp))
         {
            $buf = fgets($fp, 128);   
         }   
         fclose($fp);
      }
?>
   <tr>
      <td>&nbsp;<?php echo $domaine.".".$cle;?></td>
      
<?php
      if(ereg("No match for", $buf)|| ereg("NOT FOUND", $buf))
      {
         print "<td>&nbsp;libre</td>";
      }
      else
      {
         print "<td>&nbsp;pris</td>";
      }
?>
   </tr>
<?php
   }
}
Alors que pensez vous? Il est ou l erreur?

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

Message le Mar Oct 17, 2006 12:42

je pense quelque part dans ce bout de code :
kagura a écrit:
Code: Tout sélectionner
$whois_servers = array(
   "biz"=>"whois.pacificroot.com",
   "com"=>"rs.internic.net",
   "info"=>"whois.afilias.net",
   "ma"=>"whois.ripe.net",
   "net"=>"rs.internic.net",
   "org"=>"rs.internic.net"
   );
foreach($whois_servers as $cle=>$valeur)
{
   $domain = $domaine.$cle;
   if($domain)
   {
      $parsedom = explode(".", $domain);
      $host = $whois_servers[strtolower($parsedom[count($parsedom) - 1])];
      $fp = fsockopen($domain, 80, $errno, $errstr, 30);
      if (!$fp)
      {
         echo "$errstr ($errno)<br />\n";
      }
      else
      {
         fwrite($fp, $domain);   
         while (!feof($fp))
         {
            $buf = fgets($fp, 128);   
         }   
         fclose($fp);
      }
?>
   <tr>
      <td>&nbsp;<?php echo $domaine.".".$cle;?></td>
      
<?php
      if(ereg("No match for", $buf)|| ereg("NOT FOUND", $buf))
      {
         print "<td>&nbsp;libre</td>";
      }
      else
      {
         print "<td>&nbsp;pris</td>";
      }
?>
   </tr>
<?php
   }
}

kagura
Nouveau WRInaute
 
Messages: 9
Inscription: Ven Jan 20, 2006 18:17

Message le Mar Oct 17, 2006 12:47

Voulez vous bien etre un peu precis?
Merci

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

Message le Mar Oct 17, 2006 12:57

regardez le message d'erreur, ce sera plus simple.

kagura
Nouveau WRInaute
 
Messages: 9
Inscription: Ven Jan 20, 2006 18:17

Message le Mar Oct 17, 2006 13:32

Mais c est ça le probleme. Y a pas de message d'erreur :roll: il ne me donne pas ce que je veux

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

Message le Mar Oct 17, 2006 14:25

kagura a écrit:Mais c est ça le probleme. Y a pas de message d'erreur :roll: il ne me donne pas ce que je veux

ben s'il n'y a pas de message d'erreur c'est que ça fonctionne...
il faut permettre au serveur apache/php d'afficher les erreurs.

meduim
WRInaute discret
WRInaute discret
 
Messages: 71
Inscription: Mar Mai 16, 2006 23:52

Message le Mar Oct 17, 2006 20:23

Jsuis pas un pro mais moi je regarderai peut-etre le
$domain = $domaine.$cle;

fait un echo $domain;
juste apres voir s il donne bien la bonne attribut a $domain .


Dmx
WRInaute impliqué
WRInaute impliqué
 
Messages: 256
Inscription: Mer Avr 07, 2004 13:34

Message le Mar Oct 17, 2006 20:30

En plus simple ...
sur fedora il y a jwhois d'installer du coup :

Code: Tout sélectionner
<?php
$domain = null;

if(isset($_POST['domain']))
        $domain = $_POST['domain'];


if(!eregi('^[-[:alnum:]]+\.[a-zA-Z]{2,4}$', $domain))
{
        if($domain!=null)
                $page->warning('Erreur : la syntaxe de votre nom de domaine semble incorrecte !');
        $domain=null;
}

if($domain!=null)
{
        echo '<p>'.nl2br(shell_exec('whois '.$domain)).'</p>';
}
?>


Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités