Php et Whois

Nouveau WRInaute
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.
 
WRInaute accro
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.
 
Nouveau WRInaute
Code:
$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?
 
WRInaute accro
je pense quelque part dans ce bout de code :
kagura a dit:
Code:
$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
	}
}
 
WRInaute accro
kagura a dit:
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.
 
WRInaute discret
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 .
 
WRInaute discret
En plus simple ...
sur fedora il y a jwhois d'installer du coup :

Code:
<?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>';
}
?>
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut