Whois recherche de nom de domaine

Description

Modification d'un code tiré d'ici http://www.phpcs.com/code.aspx?ID=12806 mais on retrouve le même un peu partout sur le net.
Aprés plein de test, je me suis aperçu qu'il fonctionnait pas complètement donc j'ai modifié un peu le code. Dsl, mais je n'est mis que les .com, .fr et .net car c les seuls dont j'ai besoin et vu que les autres du code précédent étaient pas forcément bien configuré, me suis pas pris la tête à faire un truc qui m'aurais servis à rien.
De toute façon, si vous voulez en ajouter, suffit d'ajouter un bloc de ce type :

if($endfix=='.com' || $endfix=='.net'){
$WhoIsServer="whois.crsnic.net";
$nb1 = 0;
$nb2 = 8;
$nb3 = 0;
$nb4 = 13;
$txt1 = "No match";
$txt2 = "Whois Server:";
}

Bien sûr en cherchant le serveur approprié et le texte à en ressortir

Source / Exemple :


<?
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Nom de domaine</title>
<?
if (isset($_POST['submit'])){
	$endfix = $_POST['endfix'];
	$domainname = $_POST['domainname'];
	
	if($endfix=='.com' || $endfix=='.net'){
		$WhoIsServer="whois.crsnic.net";
		$nb1 = 0;
		$nb2 = 8;
		$nb3 = 0;
		$nb4 = 13;
		$txt1 = "No match";
		$txt2 = "Whois Server:";		
	}
	else if($endfix=='.fr'){
		$WhoIsServer="whois.ripe.net";
		$nb1 = 3;
		$nb2 = 16;
		$nb3 = 0;
		$nb4 = 7;
		$txt1 = "No entries found";
		$txt2 = "domain:";		
	}	
	
	$domain=($domainname."".$endfix."");

	$fp = fsockopen ("$WhoIsServer", 43, $errnr, $errstr);
    set_socket_blocking($fp,0);
           fputs($fp, "$domain\n");
                 while (!feof($fp)) {
                        $result = trim(fgets($fp, 2048));
		
        if (trim(substr($result ,$nb1, $nb2)) == $txt1){
        	echo "<table border=1 width=640 align=center><tr>";
        	echo "<td><font face='arial' size='2' color='#4E566B'><b>Le nom de domaine $domain est libre!</b></font></td></tr></table><br><br><br><br><br>";
        }
        else if (substr($result ,$nb3, $nb4) == $txt2){
        	echo "<table border=1 width=640 align=center><tr>";
        	echo "<td><font face='arial' size='2' color='#4E566B'><b>Le nom de domaine $domain n est pas libre</b></font><br><br>";
        	echo "<font face='arial' size='2' color='#4E566B'><b>Voulez vous avoir des information a propos de ce domaine? <a href='$PHP_SELF?actio=show&WhoIsServer=$WhoIsServer&domain=$domain' target='_self'>Oui</a> / <a href='#' target='_self'>Non</a>  </b></font><br><br></td></tr></table><br><br><br><br><br>";
        }
      }
    fclose($fp);
}
else{
	$actio = $_GET['actio'];
	$WhoIsServer = $_GET['WhoIsServer'];
	$domain = $_GET['domain'];
}

function showtime($domain, $WhoIsServer) {
if ((empty($domain) == false) && (empty($WhoIsServer) == false)) {
                $fps = fsockopen ("$WhoIsServer", 43, $errno, $errstr)
                        or die(printf("Probleme avec le serveur Whois.\n"));
                set_socket_blocking($fps, 0);
                fputs($fps, "$domain\n");
            echo "<table border=1 width=640 align=center><tr><td><PRE>";
                        while (!feof($fps)) {
                                $result = fgets($fps, 2048);
                     echo "$result";
            }
        echo "</td></tr></table></PRE>";
        fclose($fps);
      }
else echo("Impossible d'affiche la date.\n");

}

if($actio) {
        switch ($actio) {
        case show:
    showtime($domain, $WhoIsServer);
    break;
           default: echo ("Probleme dans Switch!");
    break;
   }

}
?>
</head>
<body>
<table border="0" width="640" align=center>
        <tr>
                <td width="130" valign="top" align="left"><font face="Arial" size="2"><b>Verification de nom de domaine:</b></font></td>
                <td width="283" valign="top" align="left"><form action="domaine.php" method="POST"><font face="Verdana" size="2"><b>www. <input type="text" name="domainname" size="17">&nbsp;&nbsp;&nbsp;<select name="endfix" size="1">
        <option name="com" value=".com">.com
        <option name="net" value=".net">.net
        <option name="org" value=".org">.org
        <option name="fr" value=".fr">.fr
        <option name="de" value=".de">.de
        <option name="ac" value=".ac">.ac
        <option name="at" value=".at">.at
        <option name="be" value=".be">.be
        <option name="ch" value=".ch">.ch
        <option name="cz" value=".cz">.cz
        <option name="dk" value=".dk">.dk
        <option name="eu.org" value=".eu.org">.eu.org
        <option name="it" value=".it">.it
        <option name="is" value=".is">.is
        <option name="hu" value=".hu">.hu
        <option name="li" value=".li">.li
        <option name="lt" value=".lt">.lt
        <option name="lu" value=".lu">.lu
        <option name="no" value=".no">.no
        <option name="sk" value=".sk">.sk
</select></b></font>
                <td width="88" valign="top" align="left"><font face="Arial" size="2"><b><input type="submit" name="submit" value="Verifier"></b></font></td>
                <td width="121" valign="top" align="left"><font face="Arial" size="2"><b><input type="reset" value="Effacer"></b></font></td></form>
        </tr>
</table>
</body>
</html>

Conclusion :


Si vous avez des questions vous pouvez y aller!

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.