본문 바로가기
Program

whois 정보 취득하기 위한 PHP - domain.class

본문

/* domain.class.php ------------------------ */

class Domain
{

 var $_whois_server;
 var $_ip_address;
 var $_time_out;
 var $_port_num;
 
 var $_results;
 
 function Domain($ip_address, $whois_server="")
 {
  $this->_domain_name = $ip_address;
 $this->_port_num    = 43;
 $this->_time_out    = 30;
 if($whois_server == ""){ $this->_whois_server = "whois.internic.net"; }
 else{ $this->_whois_server = $whois_server; }
 }

 function SetWhois($server)
 {
  $this->_whois_server = trim($server);
 }
 
 function Lookup()
 {
  $host     = $this->_whois_server;
 $port_num = $this->_port_num;
 $time_out = $this->_time_out;
 $domain   = $this->_domain_name;
 
 $feed_back = "";
 
  if($who_sock = fsockopen($host, $port_num, $errno, $errstr, $time_out))
 {
  $feeder = "$domain1512";
  fputs($who_sock, $feeder);
  while(!feof($who_sock))
  {
   $feed_back .= fgets($who_sock, 128) . "n";
  }
  fclose($who_sock);
 }
 else
 {
  print "Cannot connect to [$host] for query.";
  exit;
 }
 $this->_results = $feed_back;
 //  The line below is a sanity checker...
 //  print $feed_back;
 }
 
 function Get()
 {
  $res     = $this->_results;
 $results = array();
 
 $fn = preg_match('/domain.+?:(.+?)\n/i', $res, $full_name);
 $cr = preg_match('/creat.+?:(.+?)\n/i', $res, $created);
 $ex = preg_match('/expir.+?:(.+?)\n/i', $res, $expires);
 $up = preg_match('/updated.+?:(.+?)\n/i', $res, $updated);
 $wh = preg_match('/whois.+?:(.+?)\n/i', $res, $whois);
 $re = preg_match('/referral.+?:(.+?)\n/i', $res, $referral);
 $ns = preg_match_all('/name ser.+?:(.+?)\n/i', $res, $name_server);
 
 if($fn) $results['fullname'] = $full_name[1];
 if($cr) $results['created'] = $created[1];
 if($ex) $results['expires'] = $expires[1];
 if($up) $results['updated'] = $updated[1];
 if($wh) $results['whoisserver'] = $whois[1];
 if($re) $results['nameserver'] = $name_server[1];
 if($ns) $results['referral'] = $referral[1];
 
 return $results;
 }
 
}


/* sample.php ------------------------ */
<?
include_once("domain.class.php");
?>
<html>
<head>
 <title>Domain LookUp Example</title>
</head>
<body>
<?

$domain = new Domain("miniwini.com");  // .com
//$domain = new Domain("miniwini.or.kr","whois.krnic.net"); // .kr 은 이렇게

$domain->Lookup();

$info = $domain->Get();
 foreach($info as $key=>$val)
 {
  print "$key = $val<br>";
 }

if(isset($info['whoisserver']))
{
 $domain->SetWhois($info['whoisserver']);
 $domain->Lookup();
 
 $info = $domain->Get();
 
 foreach($info as $key=>$val)
 {
  print "$key = $val<br>";
 }
}
else
{
 foreach($info as $key=>$val)
 {
  print "$key = $val<br>";
 }
}

?>
</body>
</html>

[이 게시물은 듀라님에 의해 2015-04-03 10:08:13 워드프레스에서 이동 됨]
[이 게시물은 듀라님에 의해 2015-04-03 10:27:24 Public에서 이동 됨]
[이 게시물은 듀라님에 의해 2015-04-03 10:33:53 팁과강좌에서 이동 됨]
[이 게시물은 최고관리자님에 의해 2017-06-10 14:26:42 PHP에서 이동 됨]
0 0
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

페이지 정보

l2j (121.♡.101.20) 작성일09-06-09 12:28 조회983회 댓글0건

댓글목록

등록된 댓글이 없습니다.

Program 목록

게시물 검색

사이트 정보

  • 회사명 회사명 / 대표 대표자명
  • 주소 OO도 OO시 OO구 OO동 123-45
  • 사업자 등록번호 123-45-67890
  • 전화 02-123-4567 / 팩스 02-123-4568
  • 통신판매업신고번호 제 OO구 - 123호
  • 개인정보관리책임자 정보책임자명

고객센터

  • 02-1234-5678
  • abc@abc.com
  • 월-금 am 11:00 - pm 05:00
  • 점심시간 : am 12:00 - pm 01:00
  • 주말&공휴일은 1:1문의하기를 이용하세요.
상단으로