Saturday, August 27, 2011

How to check domain availability in PHP


How to check domain availability in PHP?


Following example shows you how to check the availability of a domain name using PHP.



Domain Name System (DNS) is a naming system for resources connected to the Internet or any other personal network. It contains details of registered domain names in the world up to date. It is a large database of domain names and the IP address mapped to that domain. A Domain Name Registrar is an organization or commercial entity that manage the reservation of Internet domain names. Domain Name Registar provides the registration service for end-users.

Before you register a domain name, you may need to check the availability of the domain name. This example is based on the www.whoisxmlapi.com Domain Availability API. First you have to create a free account with whoisxmlapi site. They will provide an account with free 500 lookups for checking the availability of domain names. Also they provide hosted whois web service plans. By using this free account you can send up to 500 lookup quires. Also they provide a way to check your remaining lookups and e-mail alert at your threshold limit. They provide an easy way to check the domain availability and whois lookup for a given domain. You can configure this to your web application using following example code.

You can get the output as JSON or XML. To do that you have to set outputFormat to JSON or XML. Note that you will be need to connect to the internet to check this example.


<?php
/*
©-Copyright by www.latestcode.net
*/


class CheckDomainNameAvailability{
const WHOIS_SERVICE_URL = "http://www.whoisxmlapi.com/whoisserver/WhoisService?";
const ACCOUNT_SERVICE_URL = "http://www.whoisxmlapi.com/accountServices.php?";

private $userName;
private $password;
private $domainName;
private $outputFormat;

private $isDomainAvailable=FALSE;
private $accountBalance;

public function __construct() {
$this->userName='username';
$this->password='password';
$this->outputFormat = 'JSON';//You can set XML also
}

/**
* Check domain name availability
* @param string $domainName
* @return boolean
*/


public function getDomainNameAvailability($domain){
$this->domainName = str_replace('www.', '', strtolower($domain));
$domain_details = @file_get_contents(self::WHOIS_SERVICE_URL."cmd=GET_DN_AVAILABILITY&domainName=".$this->domainName."&username=".$this->userName."&password=".$this->password."&outputFormat=".$this->outputFormat);
$result = json_decode($domain_details);
$this->isDomainAvailable = ($result->DomainInfo->domainAvailability==='AVAILABLE')?TRUE:FALSE;
return $this->isDomainAvailable;
}

/**
* Check available lookups
* @return bool
*/


public function getAvailableLookups(){
$accountDetails = @file_get_contents(self::ACCOUNT_SERVICE_URL."servicetype=accountbalance&username=".$this->userName."&password=".$this->password);
$xml='<xml>'.$accountDetails.'</xml>';

$xmlDoc = new DOMDocument();
$xmlDoc->loadXML($xml);

if($xmlDoc->hasChildNodes()){
$balance = $xmlDoc->getElementsByTagName('balance');
if($balance->length>0){
$this->accountBalance = $balance->item(0)->nodeValue;
}else{
$this->accountBalance = 0;
}
unset($xmlDoc);
}else{
exit('An unexpected error has occured');
}
return $this->accountBalance;
}
}

Usage:


$dnc = new CheckDomainNameAvailability();

//To check domain name availability - you can enter domain name witho or without 'www'.

$domainaName = 'www.test.com';
$available = $dnc->getDomainNameAvailability($domainaName);
echo $domainaName." is ".(($available==FALSE)?" not ":" ")."available";

//To check account balance

$balance = $dnc->getAvailableLookups();
if($balance>0){
echo "You have ".$balance." remaining lookups";
}else{
echo "Your account balance is zero";
}

7 comments:

piyush23 said...

Above excellent guide you have shared about this concept and it is really great for me to found this blog.Register a Domain

Ajay Kumar said...

Hi,

thanks for sharing.

You explained the process to check domain availability in PHP in a very informative way

Nisarg Patel said...

i have copied yr code but every time it give output like "Domain name is not available". plz help me..
email- smartnisarg2310@gmail.com

chetan kantharia said...

Hey I have found and api for domain check -> http://freedomainapi.com

Helge Sverre said...

Id rather do this my own way, so I created a PHP Class for this.

Grab the code: http://helgesverre.com/blog/php-domain-availability-checking-script/

Thúy Anh said...

collagen enhance giá bao nhiêuDa xuất hiện những vết nám, vết thâm và tàn nhang, ngày càng lan rộng và sẫm màu hơn. neocell collagen hong kongCollagen chiếm khoảng 70% cấu trúc da và được phân bổ chủ yếu ở lớp hạ bì của da. Collagen có tác dụng kết nối các tế bào, kích thích quá trình trao đổi chất, tạo độ đàn hồi của da collagen shiseido dang nuoc co totTại sao các sản phẩm Collagen tự nhiên hoạt động ? Trong thực tế, cơ thể bạn sẽ hấp thụ các sản phẩm collagen tự nhiên dễ dàng tạo ra một tác dụng chống lão hóa. Trong khi nhiều người thường tìm cách giải phẫu để mang lại sức sống cho làn da của họ, phẫu thuật không phải lúc nào cũng cần thiết cho tất cả mọi người. Đôi khi, chỉ cần chọn mua cho mình một sản phẩm hoặc chọn một liệu pháp chăm sóc da thích hợp sẽ đem lại các kết quả bất ngờ. thực đơn cho mẹ sau khi sinh mổCác mẹ bầu ăn không ngon thì nên dùng món cháo bồ câu này để lấy lại cảm giác ngon miệng khi ăn. bao nhieu tuoi thi nen uong callogenTuy nhiên Collagen ko phải thuốc thánh nên nếu em ko biết cách chăm sóc cho da như tẩy da chết ,đăp mặt nạ ( tuần 2 lần ) dùng toner hàng ngày và nhiều vấn đề khác cần thiết cho da của em thì uống Collagen cũng ko giúp đc bao nhiều đâu em ah . uong callogen bao lau co ket quaMỗi ngày một lọ Collagen Adiva, là hàm lượng phù hợp bổ sung collagen cần thiết mỗi ngày. 1 hộp gồm 7 lọ và bạn nên uống tối thiểu 2 hộp, tương đương với 14 ngày để có thể cảm nhận được sự thay đổi tích cực của làn da. mua fine pure collagenSản phẩm fine pure collagen Nhật Bản là sự kết hợp hài hòa giữa các thành phần tự nhiên như: CoQ10, Chondroitin, Gien và kèm theo đó là bột quả anh đào giúp làm tăng khả năng miễn dịch, bảo vệ sức khỏe và làm đẹp da hiệu quả. phân biệt collagen +C thật và giảDo nhu cầu lớn nên trên thị trường Việt Nam xuất hiện các sản phẩm nhái từ Trung Quốc. Các sản phẩm xuất xứ Trung Quốc lẫn lộn vào với các sản phẩm chính hãng. Hậu quả của việc sử dụng Hàng Giả là không thể đảm bảo. Để giúp mọi người phân biệt rõ giữa nhau thai cừu Costar PLACENTA 15000 mg Hàng Thật và Hàng Giả page viết một số lưu ý sau: thuốc fine pure collagenCo Q10 là chất dinh dưỡng thiết yếu có vai trò trong vận chuyển điện tử ở ty lạp thể, đây là con đường hóa sinh của hô hấp tế bào mà từ đó sản sinh ra ATP và năng lượng chuyển hóa. mang thai bao nhiêu tuần thì biết trai hay gáiĐoán giới tính thai nhi theo kinh nghiệm dân gian của ông bà ta truyền lại vẫn luôn là những mẹo nhỏ hữu ích giúp các bà các mẹ có được những căn cứ chẩn đoán.

Brave Technologies said...

Nice article, I loved it. Thanks for sharing and keep sharing. Get a ERP software for you small business.For more details contact us.
erp in chennai
cloud erp in chennai
leather erp in chennai
trading erp in chennai
franchise erp in chennai