Jump to content


Photo

Problema Com Sistema De Whois


  • Faça o login para participar
1 reply to this topic

#1 auei

auei

    Normal

  • Usuários
  • 87 posts
  • Sexo:Não informado
  • Interesses:PHP

Posted 02/04/2007, 19:14

Bom estou com um problema no meu sistema de WHOIS ...
O problema é o seguinte ele faz a consulta do dominio normal, só que quando eu coloco alguns dominios .org que já estão registrados, ele retorna dizendo que o registro se encontra livre para registro.

Aqui vai os códigos.

Whois.php
<?
//Whois
function whois ($domain, $tipo) {
	$server[0] = "whois.registro.br"; // Domínios Nacionais
	$server[1] = "whois.internic.net"; // Domínios .com, .net, .org, .edu
	$server[2] = "whois.networksolutions.com"; // Domínios .aero, .arpa, .biz, .coop, .info, .int, .museum

	$domain = strtolower($domain);
	if (trim($domain) <> "") {
		$domain = trim($domain);
		$final = substr($domain, -4);

		if (substr("$domain", -3) == ".br") {
			$br = fsockopen($server[0], 43, $errno, $errstr, 30);
			if (!$br) {
				$dados .= "$errstr ($errno)";
			} else {
				fputs($br, "$domain\r\n");
				while (!feof($br)) {
					$buffer .= fread($br,128);
				}
				if ($tipo == 1) {
					if (strpos($buffer, "No match for") > 0) $dados .= false; else $dados .= true;
				} else {
					$dados .= str_replace("\n","<BR>\n",trim($buffer));
				}
				fclose ($br);
			}


		} elseif (($final == '.com') OR ($final == '.net') OR ($final == '.org') OR ($final == '.edu')) {
			$internic = fsockopen($server[1], 43, $errno, $errstr, 30); 
			if (!$internic) {
				$dados .= "$errstr ($errno)";
			} else {
				fputs($internic, "$domain\r\n");
				while (!feof($internic)) {
					$buffer .= fread($internic,128);
				}
				if ($tipo == 1) {
					if (strpos($buffer, "No match for") > 0) $dados .= false; else $dados .= true;
				} else {
					if (strpos($buffer, "No match for") > 0) {
						$dados .= "<pre>" . trim($buffer) . "</pre>";
					} else {
						$servidor = substr($buffer, strpos($buffer, "Whois Server:")+14, strlen($buffer));
						$servidor = substr($servidor, 0, strpos($servidor, "\n"));
						$entidade = fsockopen("$servidor", 43, $errno, $errstr, 30);
						if (!$entidade) {
							$dados .= "$errstr ($errno)";
						} else {
							$buffer .= "-------------------------------------------------------------------------------<BR> <BR>";
							fputs($entidade, "$domain\r\n");
							while (!feof($entidade)) {
								$buffer .= fread($entidade,128);
							}
							$dados .= str_replace("\n","<BR>\n",trim($buffer));
							fclose ($entidade);
						}
					}
				}
				fclose ($internic);
			}


		} else {
			$network = fsockopen($server[2], 43, $errno, $errstr, 30);
			if (!$network) {
				$dados .= "$errstr ($errno)";
			} else {
				fputs($network, "$domain\r\n");
				while (!feof($network)) {
					$buffer .= fread($network,128);
				}
				if ($tipo == 1) {
					 if (strpos($buffer, "NOT FOUND") > 0) $dados .= false; else $dados .= true;
				} else {
					$dados .= str_replace("\n","<BR>\n",trim($buffer));
				}
				fclose ($network);
			}
		}
	}
return $dados;
}

Verifica.php
<?

include("whois.php");
$dom = $_GET["dominio"];

if (strlen($_GET["dominio"]) > 0) {
echo '<center>
<table width="300" border="0" cellpadding="0" cellspacing="0">
  <tr>
	<td width="300" height="146" background="images/topo_dom.jpg"></td>
  </tr>
  <tr>
	<td width="300" height="142" bgcolor="#f8f8f8"><font face="verdana" size="1"><center><br><br>';

if (whois($_GET["dominio"],1) == 1) { echo 'Desculpe, mas o domínio <b><font color="#ABC402">http://www.'.$_GET["dominio"].'</font></b> se encontra em uso. Tente novamente.<br><br><br>:: <a href="java script:window.close();" class="dom">Fechar Janela</a> ::'; }

else{ echo 'Parabéns! O domínio <b><font color="#ABC402">http://www.'.$_GET["dominio"].'</font></b> está disponivel!<br><br>:: <a href="java script:window.close(); window.open(\'registrar.php?dominio='.$dom.'\',\'popup\',\'scrollbars=no,width=300,height=400\')" class="dom">Registrar</a> ::<br>:: <a href="java script:window.close(); window.open(\'precos.php\',\'popup\',\'scrollbars=no,width=300,height=400\')" class="dom">Verificar Preços</a> ::<br><br>:: <a href="java script:window.close();" class="dom">Fechar Janela</a> ::'; }

echo '</center></font></td>
  </tr>
  <tr>
	<td width="300" height="112" background="images/roda_dom.jpg"></td>
  </tr>
</table>
</center>';
}

elseif(strlen($_GET["dominio"]) == "") {
echo '<center>
<table width="300" border="0" cellpadding="0" cellspacing="0">
  <tr>
	<td width="300" height="146" background="images/topo_dom.jpg"></td>
  </tr>
  <tr>
	<td width="300" height="142" bgcolor="#f8f8f8"><font face="verdana" size="1"><center><br><br><br>Você precisa preencher o campo corretamente!<br><br><br>:: <a href="java script:window.opener.location.reload(); self.close();" class="dom">Fechar Janela</a> ::</center></font></td>
  </tr>
  <tr>
	<td width="300" height="112" background="images/roda_dom.jpg"></td>
  </tr>
</table>
</center>';
}

?>
</body>

</html>

Esse último eu envio a informação de um formulário para ele com o endereço do dominio. Ex.: dominio.com.br

Se alguem souber o pq desse problema posta ai...
Obrigado

#2 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 02/04/2007, 21:33

O ideal seria você realizar alguns testes apenas com DPN org, possivelmente deve haver algum problema somente nas informações referentes a ele. Realizando testes apenas com ele você vai economizar tempo.

Falopa!




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq