whoaz 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in whoaz.gemspec
4
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,24 @@
1
+ Copyright (c) 2012 Nihad Abbasov / NARKOZ
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are met:
6
+
7
+ 1. Redistributions of source code must retain the above copyright notice,
8
+ this list of conditions and the following disclaimer.
9
+
10
+ 2. Redistributions in binary form must reproduce the above copyright notice,
11
+ this list of conditions and the following disclaimer in the documentation
12
+ and/or other materials provided with the distribution.
13
+
14
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
18
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24
+ POSSIBILITY OF SUCH DAMAGE.
data/README.md ADDED
@@ -0,0 +1,37 @@
1
+ # Whoaz
2
+
3
+ Whoaz is a ruby gem that provides a nice way to interact with Whois.Az
4
+
5
+ ## Installation
6
+
7
+ Command line:
8
+
9
+ ```sh
10
+ gem install whoaz
11
+ ```
12
+
13
+ Bundler:
14
+
15
+ ```ruby
16
+ gem 'whoaz'
17
+ ```
18
+
19
+ ## Usage
20
+
21
+ ```ruby
22
+ whoaz = Whoaz.whois('google.az')
23
+ # => #<Whoaz::Whois:0x00000101149158 @organization="Google Inc.", @name="Admin", @address="94043, Mountain View, 1600 Amphitheatre Parkway", @phone="+16503300100", @fax="+16506188571", @email="dns-admin@google.com", @nameservers=["ns1.google.com", "ns2.google.com"]>
24
+
25
+ whoaz.registered?
26
+ # => true
27
+ ```
28
+
29
+ #### CLI
30
+
31
+ ```sh
32
+ whoaz google.az
33
+ ```
34
+
35
+ ## Copyright
36
+
37
+ Copyright (c) 2012 Nihad Abbasov
data/Rakefile ADDED
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env rake
2
+ require "bundler/gem_tasks"
3
+
4
+ require 'rspec/core/rake_task'
5
+ RSpec::Core::RakeTask.new(:spec) do |spec|
6
+ spec.pattern = FileList['spec/**/*_spec.rb']
7
+ end
8
+
9
+ task :default => :spec
data/bin/whoaz ADDED
@@ -0,0 +1,63 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'whoaz'
4
+ require 'optparse'
5
+
6
+ OptionParser.new do |opt|
7
+ opt.banner = 'Usage: whoaz domain'
8
+ opt.separator ''
9
+ opt.separator 'Options:'
10
+
11
+ opt.on_tail('-h', '--help', 'Prints this help message') do
12
+ puts opt
13
+ exit
14
+ end
15
+
16
+ opt.on_tail('-v', '--version', 'Prints version') do
17
+ puts "Whoaz #{Whoaz::VERSION}"
18
+ exit
19
+ end
20
+
21
+ begin
22
+ opt.parse!
23
+ rescue OptionParser::ParseError
24
+ puts opt
25
+ exit 1
26
+ end
27
+
28
+ if ARGV.size.zero?
29
+ puts opt
30
+ exit 1
31
+ end
32
+ end
33
+
34
+ domain = ARGV.first
35
+
36
+ begin
37
+ query = Whoaz.whois domain
38
+ rescue Whoaz::Error => e
39
+ abort e.message
40
+ end
41
+
42
+ puts "\nWhoaz Version #{Whoaz::VERSION}\n\n"
43
+
44
+ if query.free?
45
+ puts "Domain #{domain.upcase} is not registered.\n\n"
46
+ puts "NOTE: NOT REGISTERED DOMAIN IS NOT INDICATIVE OF THE AVAILABILITY OF A DOMAIN NAME."
47
+ exit
48
+ end
49
+
50
+ puts "Domain Name: #{domain.upcase}"
51
+
52
+ query.nameservers.each do |ns|
53
+ puts "Name Server: #{ns.upcase}"
54
+ end if query.nameservers
55
+
56
+ puts "\nRegistrant:"
57
+ puts " Organization: #{query.organization}" if query.organization
58
+ puts " Name: #{query.name}
59
+ Address: #{query.address}
60
+ Phone: #{query.phone}
61
+ Fax: #{query.fax}
62
+ Email: #{query.email}
63
+ "
@@ -0,0 +1,7 @@
1
+ module Whoaz
2
+ class Error < StandardError; end
3
+ class EmptyDomain < Error; end
4
+ class InvalidDomain < Error; end
5
+ class ServerError < Error; end
6
+ class DomainNameError < Error; end
7
+ end
@@ -0,0 +1,5 @@
1
+ class Object
2
+ def try(method)
3
+ send method if respond_to? method
4
+ end
5
+ end
@@ -0,0 +1,3 @@
1
+ module Whoaz
2
+ VERSION = "1.0.0"
3
+ end
@@ -0,0 +1,66 @@
1
+ module Whoaz
2
+ class Whois
3
+ attr_accessor :name, :organization, :address, :phone, :fax, :email, :nameservers
4
+
5
+ def initialize(domain)
6
+ post_domain = domain.split('.', 2)
7
+ raise InvalidDomain, "Invalid domain specified" unless
8
+ [MAIN_TLD, REGIONAL_TLD].any? {|a| a.include? post_domain.last}
9
+
10
+ url = URI WHOIS_URL
11
+ req = Net::HTTP::Post.new(url.path, 'Referer' => WHOIS_REFERER)
12
+ req.set_form_data('lang' => 'en', 'domain' => post_domain.first, 'dom' => ".#{post_domain.last}")
13
+ res = Net::HTTP.new(url.host, url.port).start {|http| http.request(req)}
14
+
15
+ if res.code.to_i == 200
16
+ doc = Nokogiri::HTML(res.body)
17
+ else
18
+ raise ServerError, "Server responded with code #{res.code}"
19
+ end
20
+
21
+ if doc.at_xpath('//table[4]/tr/td[2]/table[2]/tr[3]/td').try(:text).try(:strip) == 'This domain is free.'
22
+ @free = true
23
+ end
24
+
25
+ if @name.nil? && @organization.nil?
26
+ if doc.at_xpath('//table[4]/tr/td[2]/table[2]/td/p').
27
+ try(:text).try(:strip) == 'Using of domain names contains less than 3 symbols is not allowed'
28
+ raise DomainNameError, "Whois query for this domain name is not supported."
29
+ end
30
+ end
31
+
32
+ doc.xpath('//table[4]/tr/td[2]/table[2]/td/table/tr').each do |registrant|
33
+ @organization = registrant.at_xpath('td[2]/table/tr[1]/td[2]').try(:text)
34
+ @name = registrant.at_xpath('td[2]/table/tr[2]/td[2]').try(:text)
35
+ @address = registrant.at_xpath('td[3]/table/tr[1]/td[2]').try(:text)
36
+ @phone = registrant.at_xpath('td[3]/table/tr[2]/td[2]').try(:text)
37
+ @fax = registrant.at_xpath('td[3]/table/tr[3]/td[2]').try(:text)
38
+ @email = registrant.at_xpath('td[3]/table/tr[4]/td[2]').try(:text)
39
+ end
40
+
41
+ doc.xpath('//table[4]/tr/td[2]/table[2]/td/table/tr/td[4]/table').each do |nameserver|
42
+ @nameservers = [
43
+ nameserver.at_xpath('tr[2]/td[2]').try(:text),
44
+ nameserver.at_xpath('tr[3]/td[2]').try(:text),
45
+ nameserver.at_xpath('tr[4]/td[2]').try(:text),
46
+ nameserver.at_xpath('tr[5]/td[2]').try(:text),
47
+ nameserver.at_xpath('tr[6]/td[2]').try(:text),
48
+ nameserver.at_xpath('tr[7]/td[2]').try(:text),
49
+ nameserver.at_xpath('tr[8]/td[2]').try(:text),
50
+ nameserver.at_xpath('tr[9]/td[2]').try(:text)
51
+ ]
52
+ end
53
+
54
+ @nameservers.try(:compact!)
55
+ @name, @organization = @organization, nil if @name.nil?
56
+ end
57
+
58
+ def free?
59
+ @free ? true : false
60
+ end
61
+
62
+ def registered?
63
+ !free?
64
+ end
65
+ end
66
+ end
data/lib/whoaz.rb ADDED
@@ -0,0 +1,19 @@
1
+ require 'whoaz/version'
2
+ require 'whoaz/ruby_ext'
3
+ require 'whoaz/whois'
4
+ require 'whoaz/errors'
5
+ require 'net/http'
6
+ require 'nokogiri'
7
+
8
+ module Whoaz
9
+ WHOIS_URL = 'http://nic.az/cgi-bin/whois.cgi'
10
+ WHOIS_REFERER = 'http://nic.az'
11
+ MAIN_TLD = %w(az biz.az co.az com.az edu.az gov.az info.az int.az mil.az name.az net.az org.az pp.az)
12
+ REGIONAL_TLD = %w(bilesuvar.az ganja.az imishli.az samux.az shamaxi.az shusha.az sumgait.az zaqatala.az)
13
+
14
+ def self.whois(domain='')
15
+ domain = domain.to_s.strip.downcase
16
+ raise EmptyDomain, "Domain not specified" if domain.empty?
17
+ Whoaz::Whois.new(domain)
18
+ end
19
+ end
@@ -0,0 +1,150 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <title>Whois.Az</title>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
6
+ <link href="/whois.css" rel="stylesheet" type="text/css">
7
+ </head>
8
+
9
+ <body bgcolor="#F7F7F7" background="/imgs/bg.jpg" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
10
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
11
+ <tr>
12
+ <td><img src="/imgs/whois.gif" hspace="16"></td>
13
+ <td width="100%" valign="middle" align="center"><a href="http://www.az"><img border=0 src="/imgs/intrans.gif" alt="IntraNS" width="468" height="60"></a></td>
14
+
15
+ <td background="/imgs/bg1.jpg"><img src="/imgs/dot.gif" width="18" height="1"></td>
16
+ </tr>
17
+ </table>
18
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
19
+ <tr>
20
+ <td><img src="/imgs/dot.gif" width="16" height="8"></td>
21
+ <td width="100%" bgcolor="#AAA8A8"><img src="/imgs/dot.gif" width="16" height="6"></td>
22
+ <td background="/imgs/bg1.jpg"><img src="/imgs/dot.gif" width="18" height="1"></td>
23
+ </tr>
24
+ </table>
25
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
26
+ <tr>
27
+ <td><img src="/imgs/dot.gif" width="16" height="8"></td>
28
+ <td valign="top" width="90%" background="/imgs/topbg.gif"><img src="/imgs/welcome.gif" width="228" height="15" vspace="10"></td>
29
+ <td background="/imgs/topbg.gif"><img src="/imgs/dot.gif" width="2" height="67"></td>
30
+ <td valign="top" align="right" width="90%" background="/imgs/topbg.gif"><img src="/imgs/i.gif" width="32" height="28" hspace="10" vspace="8"><br>
31
+ <a href="/index_ru.html">ru</a> <a href="/index_az.html">az</a> <a href="/index.html">en</a><img src="/imgs/dot.gif" width="22" height="8"></td>
32
+ <td background="/imgs/bg1.jpg"><img src="/imgs/dot.gif" width="18" height="1"></td>
33
+ </tr></table>
34
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
35
+ <tr>
36
+ <td><img src="/imgs/dot.gif" width="13" height="1"></td>
37
+ <td align="left"><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
38
+ <td colspan="2" width="33%" background="/imgs/topbg1.gif" valign="top"><img src="/imgs/1.gif" width="98" height="8"><img src="/imgs/dot.gif" width="152" height="8"></td>
39
+ <td colspan="2" width="33%" background="/imgs/topbg1.gif" valign="top"><img src="/imgs/2.gif" width="123" height="8"><img src="/imgs/dot.gif" width="128" height="8"></td>
40
+ <td colspan="2" width="33%" background="/imgs/topbg1.gif" valign="top"><img src="/imgs/3.gif" width="65" height="8"></td>
41
+ </tr>
42
+ <tr><td colspan="6" width="100%" background="/imgs/linebg.gif"><img src="/imgs/dot.gif" width="16" height="7"></td>
43
+ </tr>
44
+ <tr>
45
+ <td colspan="2" width="33%" bgcolor="#EEECE9" valign="top">&nbsp;</td>
46
+ <td width="33%" align="right" bgcolor="#EEECE9" valign="top" class="title">check
47
+ the domain name<img src="/imgs/dot.gif" width="1" height="3"></td>
48
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
49
+ <td width="33%" align="right" bgcolor="#EEECE9" valign="top" class="title">information about domains in .az zone<img src="/imgs/dot.gif" width="1" height="3"></td>
50
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
51
+
52
+ </tr><tr>
53
+ <td width="30%" bgcolor="#E3DFDC" valign="top"></td>
54
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
55
+ <td width="30%" align="right" bgcolor="#E3DFDC" valign="top" class="title"><img src="/imgs/dot.gif" width="10" height="3"></td>
56
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
57
+ <td width="30%" align="right" bgcolor="#E3DFDC" valign="top" class="title"><img src="/imgs/dot.gif" width="10" height="3"></td>
58
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
59
+ </tr>
60
+ <tr>
61
+ <td background="/imgs/mapbg.jpg" align="center" valign="top"><img src="/imgs/map.jpg" width="230" height="117"></td>
62
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
63
+ <td background="/imgs/hline.gif" valign="top"><br>
64
+ <form name="whois" action="/cgi-bin/whois.cgi" method="post">
65
+ <input type="hidden" name="lang" value="en"> <ul>
66
+ 1.Enter the name of
67
+ your domain (ex.nt.az)<br>
68
+ 2.Select your desired *ext</ul>
69
+ <ul><table cellpadding="0" cellspacing="0" border="0">
70
+ <tr><td valign="top"><input type='text' name='domain' size='18' maxlength="50" class='sub'></td>
71
+ <td valign="top"><select name='dom' class='sub'>
72
+ <option selected value='.az'>.az</option>
73
+ <option value='.com.az'>.com.az</option>
74
+ <option value='.co.az'>.co.az</option>
75
+ <option value='.net.az'>.net.az</option>
76
+ <option value='.int.az'>.int.az</option>
77
+ <option value='.gov.az'>.gov.az</option>
78
+ <option value='.biz.az'>.biz.az</option>
79
+ <option value='.org.az'>.org.az</option>
80
+ <option value='.edu.az'>.edu.az</option>
81
+ <option value='.mil.az'>.mil.az</option>
82
+ <option value='.pp.az'>.pp.az</option>
83
+ <option value='.name.az'>.name.az</option>
84
+ <option value='.info.az'>.info.az</option>
85
+ </select><a href="JavaScript:document.whois.submit()"><img src="/imgs/tick.gif" width="20" height="16" border="0"></a>
86
+ </form></td>
87
+ </tr>
88
+ </table>
89
+ </td>
90
+ <td bgcolor="#EEECE9"" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
91
+ <td background="/imgs/vline.gif" valign="top">
92
+ <table width="100%" border="0" cellspacing="0" cellpadding="10">
93
+ <tr>
94
+ <td>Do a easy search below for your desired domain name, to check
95
+ for its availability before you proceed to register. <br>
96
+ You can find info about the following domains : <br>
97
+ az, com.az, net.az, int.az, gov.az, org.az, .edu.az, .info.az,
98
+ .pp.az, .mil.az, .name.az and biz.az.</td>
99
+ </tr>
100
+ </table>
101
+ </td><td bgcolor="#EEECE9"><img src="/imgs/dot.gif"></td>
102
+ </tr></table>
103
+ <table width="100%" border="0" cellspacing="0" cellpadding="0" background="/imgs/mid.jpg"><tr>
104
+ <td width="30%" bgcolor="#E3DFDC"><img src="/imgs/dot.gif" width="14" height="1"></td>
105
+ <td bgcolor="#EEECE9"><img src="/imgs/dot.gif" width="14" height="1"></td>
106
+ <td width="30%" bgcolor="#E3DFDC"><img src="/imgs/dot.gif" width="10" height="1"></td>
107
+ <td bgcolor="#EEECE9"><img src="/imgs/dot.gif" width="14" height="1"></td>
108
+ <td width="30%" bgcolor="#E3DFDC"><img src="/imgs/dot.gif" width="10" height="1"></td>
109
+ <td bgcolor="#EEECE9"><img src="/imgs/dot.gif" width="14" height="1"></td>
110
+ </tr>
111
+ <tr>
112
+ <td colspan="6" bgcolor="#D9D5D1"><img src="/imgs/dot.gif" width="14" height="1"></td>
113
+ </tr>
114
+ <td colspan="5" valign="top">
115
+ <br>
116
+ <div align="center"><b>INFORMATION ABOUT DOMAIN "404.az"</b></div><br>
117
+
118
+ <tr><td colspan=5 align="center">
119
+ This domain is free. </p>
120
+
121
+ <img src="/imgs/dot.gif" width="14" height="1">
122
+ </td>
123
+ <td><img src="/imgs/dot.gif" width="14" height="1"></td>
124
+ </tr>
125
+ </table>
126
+
127
+ <table width="100%" border="0" cellspacing="0"><tr>
128
+ <td colspan="2" bgcolor="#999999"><img src="/imgs/dot.gif" width="14" height="1"></td>
129
+ </tr> <tr>
130
+ <td valign="top" background="/imgs/bgbot.jpg"><img src="/imgs/who.gif" width="29" height="146"></td>
131
+ <td align="center" valign="middle" background="/imgs/bgbot.jpg"><img src="/imgs/choose.jpg" width="521" height="146"></td>
132
+ </tr>
133
+ <tr>
134
+ <td colspan="2" bgcolor="#999999"><img src="/imgs/dot.gif" width="14" height="1"></td>
135
+ </tr>
136
+ <tr>
137
+ <td colspan="2" background="/imgs/bottom.jpg" align="right">Copyright
138
+ &copy; by <a href="http://www.nt.az/">Network Technologies</a><img src="/imgs/dot.gif" width="11" height="56"></td>
139
+ </tr>
140
+ <tr>
141
+ <td colspan="2" bgcolor="#BABABA"><img src="/imgs/dot.gif" width="14" height="1"></td>
142
+ </tr>
143
+ </table>
144
+
145
+ </td>
146
+ <td background="/imgs/bg1.jpg"><img src="/imgs/dot.gif" width="18" height="1"></td>
147
+ </tr>
148
+ </table>
149
+ </body>
150
+ </html>
@@ -0,0 +1,147 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <title>Whois.Az</title>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
6
+ <link href="/whois.css" rel="stylesheet" type="text/css">
7
+ </head>
8
+
9
+ <body bgcolor="#F7F7F7" background="/imgs/bg.jpg" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
10
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
11
+ <tr>
12
+ <td><img src="/imgs/whois.gif" hspace="16"></td>
13
+ <td width="100%" valign="middle" align="center"><a href="http://www.az"><img border=0 src="/imgs/intrans.gif" alt="IntraNS" width="468" height="60"></a></td>
14
+
15
+ <td background="/imgs/bg1.jpg"><img src="/imgs/dot.gif" width="18" height="1"></td>
16
+ </tr>
17
+ </table>
18
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
19
+ <tr>
20
+ <td><img src="/imgs/dot.gif" width="16" height="8"></td>
21
+ <td width="100%" bgcolor="#AAA8A8"><img src="/imgs/dot.gif" width="16" height="6"></td>
22
+ <td background="/imgs/bg1.jpg"><img src="/imgs/dot.gif" width="18" height="1"></td>
23
+ </tr>
24
+ </table>
25
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
26
+ <tr>
27
+ <td><img src="/imgs/dot.gif" width="16" height="8"></td>
28
+ <td valign="top" width="90%" background="/imgs/topbg.gif"><img src="/imgs/welcome.gif" width="228" height="15" vspace="10"></td>
29
+ <td background="/imgs/topbg.gif"><img src="/imgs/dot.gif" width="2" height="67"></td>
30
+ <td valign="top" align="right" width="90%" background="/imgs/topbg.gif"><img src="/imgs/i.gif" width="32" height="28" hspace="10" vspace="8"><br>
31
+ <a href="/index_ru.html">ru</a> <a href="/index_az.html">az</a> <a href="/index.html">en</a><img src="/imgs/dot.gif" width="22" height="8"></td>
32
+ <td background="/imgs/bg1.jpg"><img src="/imgs/dot.gif" width="18" height="1"></td>
33
+ </tr></table>
34
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
35
+ <tr>
36
+ <td><img src="/imgs/dot.gif" width="13" height="1"></td>
37
+ <td align="left"><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
38
+ <td colspan="2" width="33%" background="/imgs/topbg1.gif" valign="top"><img src="/imgs/1.gif" width="98" height="8"><img src="/imgs/dot.gif" width="152" height="8"></td>
39
+ <td colspan="2" width="33%" background="/imgs/topbg1.gif" valign="top"><img src="/imgs/2.gif" width="123" height="8"><img src="/imgs/dot.gif" width="128" height="8"></td>
40
+ <td colspan="2" width="33%" background="/imgs/topbg1.gif" valign="top"><img src="/imgs/3.gif" width="65" height="8"></td>
41
+ </tr>
42
+ <tr><td colspan="6" width="100%" background="/imgs/linebg.gif"><img src="/imgs/dot.gif" width="16" height="7"></td>
43
+ </tr>
44
+ <tr>
45
+ <td colspan="2" width="33%" bgcolor="#EEECE9" valign="top">&nbsp;</td>
46
+ <td width="33%" align="right" bgcolor="#EEECE9" valign="top" class="title">check
47
+ the domain name<img src="/imgs/dot.gif" width="1" height="3"></td>
48
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
49
+ <td width="33%" align="right" bgcolor="#EEECE9" valign="top" class="title">information about domains in .az zone<img src="/imgs/dot.gif" width="1" height="3"></td>
50
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
51
+
52
+ </tr><tr>
53
+ <td width="30%" bgcolor="#E3DFDC" valign="top"></td>
54
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
55
+ <td width="30%" align="right" bgcolor="#E3DFDC" valign="top" class="title"><img src="/imgs/dot.gif" width="10" height="3"></td>
56
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
57
+ <td width="30%" align="right" bgcolor="#E3DFDC" valign="top" class="title"><img src="/imgs/dot.gif" width="10" height="3"></td>
58
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
59
+ </tr>
60
+ <tr>
61
+ <td background="/imgs/mapbg.jpg" align="center" valign="top"><img src="/imgs/map.jpg" width="230" height="117"></td>
62
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
63
+ <td background="/imgs/hline.gif" valign="top"><br>
64
+ <form name="whois" action="/cgi-bin/whois.cgi" method="post">
65
+ <input type="hidden" name="lang" value="en"> <ul>
66
+ 1.Enter the name of
67
+ your domain (ex.nt.az)<br>
68
+ 2.Select your desired *ext</ul>
69
+ <ul><table cellpadding="0" cellspacing="0" border="0">
70
+ <tr><td valign="top"><input type='text' name='domain' size='18' maxlength="50" class='sub'></td>
71
+ <td valign="top"><select name='dom' class='sub'>
72
+ <option selected value='.az'>.az</option>
73
+ <option value='.com.az'>.com.az</option>
74
+ <option value='.co.az'>.co.az</option>
75
+ <option value='.net.az'>.net.az</option>
76
+ <option value='.int.az'>.int.az</option>
77
+ <option value='.gov.az'>.gov.az</option>
78
+ <option value='.biz.az'>.biz.az</option>
79
+ <option value='.org.az'>.org.az</option>
80
+ <option value='.edu.az'>.edu.az</option>
81
+ <option value='.mil.az'>.mil.az</option>
82
+ <option value='.pp.az'>.pp.az</option>
83
+ <option value='.name.az'>.name.az</option>
84
+ <option value='.info.az'>.info.az</option>
85
+ </select><a href="JavaScript:document.whois.submit()"><img src="/imgs/tick.gif" width="20" height="16" border="0"></a>
86
+ </form></td>
87
+ </tr>
88
+ </table>
89
+ </td>
90
+ <td bgcolor="#EEECE9"" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
91
+ <td background="/imgs/vline.gif" valign="top">
92
+ <table width="100%" border="0" cellspacing="0" cellpadding="10">
93
+ <tr>
94
+ <td>Do a easy search below for your desired domain name, to check
95
+ for its availability before you proceed to register. <br>
96
+ You can find info about the following domains : <br>
97
+ az, com.az, net.az, int.az, gov.az, org.az, .edu.az, .info.az,
98
+ .pp.az, .mil.az, .name.az and biz.az.</td>
99
+ </tr>
100
+ </table>
101
+ </td><td bgcolor="#EEECE9"><img src="/imgs/dot.gif"></td>
102
+ </tr></table>
103
+ <table width="100%" border="0" cellspacing="0" cellpadding="0" background="/imgs/mid.jpg"><tr>
104
+ <td width="30%" bgcolor="#E3DFDC"><img src="/imgs/dot.gif" width="14" height="1"></td>
105
+ <td bgcolor="#EEECE9"><img src="/imgs/dot.gif" width="14" height="1"></td>
106
+ <td width="30%" bgcolor="#E3DFDC"><img src="/imgs/dot.gif" width="10" height="1"></td>
107
+ <td bgcolor="#EEECE9"><img src="/imgs/dot.gif" width="14" height="1"></td>
108
+ <td width="30%" bgcolor="#E3DFDC"><img src="/imgs/dot.gif" width="10" height="1"></td>
109
+ <td bgcolor="#EEECE9"><img src="/imgs/dot.gif" width="14" height="1"></td>
110
+ </tr>
111
+ <tr>
112
+ <td colspan="6" bgcolor="#D9D5D1"><img src="/imgs/dot.gif" width="14" height="1"></td>
113
+ </tr>
114
+ <td colspan="5" valign="top">
115
+
116
+ <p align="center"><br> Using of domain names contains less than 3 symbols is not allowed </p>
117
+
118
+ <img src="/imgs/dot.gif" width="14" height="1">
119
+ </td>
120
+ <td><img src="/imgs/dot.gif" width="14" height="1"></td>
121
+ </tr>
122
+ </table>
123
+
124
+ <table width="100%" border="0" cellspacing="0"><tr>
125
+ <td colspan="2" bgcolor="#999999"><img src="/imgs/dot.gif" width="14" height="1"></td>
126
+ </tr> <tr>
127
+ <td valign="top" background="/imgs/bgbot.jpg"><img src="/imgs/who.gif" width="29" height="146"></td>
128
+ <td align="center" valign="middle" background="/imgs/bgbot.jpg"><img src="/imgs/choose.jpg" width="521" height="146"></td>
129
+ </tr>
130
+ <tr>
131
+ <td colspan="2" bgcolor="#999999"><img src="/imgs/dot.gif" width="14" height="1"></td>
132
+ </tr>
133
+ <tr>
134
+ <td colspan="2" background="/imgs/bottom.jpg" align="right">Copyright
135
+ &copy; by <a href="http://www.nt.az/">Network Technologies</a><img src="/imgs/dot.gif" width="11" height="56"></td>
136
+ </tr>
137
+ <tr>
138
+ <td colspan="2" bgcolor="#BABABA"><img src="/imgs/dot.gif" width="14" height="1"></td>
139
+ </tr>
140
+ </table>
141
+
142
+ </td>
143
+ <td background="/imgs/bg1.jpg"><img src="/imgs/dot.gif" width="18" height="1"></td>
144
+ </tr>
145
+ </table>
146
+ </body>
147
+ </html>
@@ -0,0 +1,188 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <title>Whois.Az</title>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
6
+ <link href="/whois.css" rel="stylesheet" type="text/css">
7
+ </head>
8
+
9
+ <body bgcolor="#F7F7F7" background="/imgs/bg.jpg" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
10
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
11
+ <tr>
12
+ <td><img src="/imgs/whois.gif" hspace="16"></td>
13
+ <td width="100%" valign="middle" align="center"><a href="http://www.az"><img border=0 src="/imgs/intrans.gif" alt="IntraNS" width="468" height="60"></a></td>
14
+
15
+ <td background="/imgs/bg1.jpg"><img src="/imgs/dot.gif" width="18" height="1"></td>
16
+ </tr>
17
+ </table>
18
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
19
+ <tr>
20
+ <td><img src="/imgs/dot.gif" width="16" height="8"></td>
21
+ <td width="100%" bgcolor="#AAA8A8"><img src="/imgs/dot.gif" width="16" height="6"></td>
22
+ <td background="/imgs/bg1.jpg"><img src="/imgs/dot.gif" width="18" height="1"></td>
23
+ </tr>
24
+ </table>
25
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
26
+ <tr>
27
+ <td><img src="/imgs/dot.gif" width="16" height="8"></td>
28
+ <td valign="top" width="90%" background="/imgs/topbg.gif"><img src="/imgs/welcome.gif" width="228" height="15" vspace="10"></td>
29
+ <td background="/imgs/topbg.gif"><img src="/imgs/dot.gif" width="2" height="67"></td>
30
+ <td valign="top" align="right" width="90%" background="/imgs/topbg.gif"><img src="/imgs/i.gif" width="32" height="28" hspace="10" vspace="8"><br>
31
+ <a href="/index_ru.html">ru</a> <a href="/index_az.html">az</a> <a href="/index.html">en</a><img src="/imgs/dot.gif" width="22" height="8"></td>
32
+ <td background="/imgs/bg1.jpg"><img src="/imgs/dot.gif" width="18" height="1"></td>
33
+ </tr></table>
34
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
35
+ <tr>
36
+ <td><img src="/imgs/dot.gif" width="13" height="1"></td>
37
+ <td align="left"><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
38
+ <td colspan="2" width="33%" background="/imgs/topbg1.gif" valign="top"><img src="/imgs/1.gif" width="98" height="8"><img src="/imgs/dot.gif" width="152" height="8"></td>
39
+ <td colspan="2" width="33%" background="/imgs/topbg1.gif" valign="top"><img src="/imgs/2.gif" width="123" height="8"><img src="/imgs/dot.gif" width="128" height="8"></td>
40
+ <td colspan="2" width="33%" background="/imgs/topbg1.gif" valign="top"><img src="/imgs/3.gif" width="65" height="8"></td>
41
+ </tr>
42
+ <tr><td colspan="6" width="100%" background="/imgs/linebg.gif"><img src="/imgs/dot.gif" width="16" height="7"></td>
43
+ </tr>
44
+ <tr>
45
+ <td colspan="2" width="33%" bgcolor="#EEECE9" valign="top">&nbsp;</td>
46
+ <td width="33%" align="right" bgcolor="#EEECE9" valign="top" class="title">check
47
+ the domain name<img src="/imgs/dot.gif" width="1" height="3"></td>
48
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
49
+ <td width="33%" align="right" bgcolor="#EEECE9" valign="top" class="title">information about domains in .az zone<img src="/imgs/dot.gif" width="1" height="3"></td>
50
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
51
+
52
+ </tr><tr>
53
+ <td width="30%" bgcolor="#E3DFDC" valign="top"></td>
54
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
55
+ <td width="30%" align="right" bgcolor="#E3DFDC" valign="top" class="title"><img src="/imgs/dot.gif" width="10" height="3"></td>
56
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
57
+ <td width="30%" align="right" bgcolor="#E3DFDC" valign="top" class="title"><img src="/imgs/dot.gif" width="10" height="3"></td>
58
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
59
+ </tr>
60
+ <tr>
61
+ <td background="/imgs/mapbg.jpg" align="center" valign="top"><img src="/imgs/map.jpg" width="230" height="117"></td>
62
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
63
+ <td background="/imgs/hline.gif" valign="top"><br>
64
+ <form name="whois" action="/cgi-bin/whois.cgi" method="post">
65
+ <input type="hidden" name="lang" value="en"> <ul>
66
+ 1.Enter the name of
67
+ your domain (ex.nt.az)<br>
68
+ 2.Select your desired *ext</ul>
69
+ <ul><table cellpadding="0" cellspacing="0" border="0">
70
+ <tr><td valign="top"><input type='text' name='domain' size='18' maxlength="50" class='sub'></td>
71
+ <td valign="top"><select name='dom' class='sub'>
72
+ <option selected value='.az'>.az</option>
73
+ <option value='.com.az'>.com.az</option>
74
+ <option value='.co.az'>.co.az</option>
75
+ <option value='.net.az'>.net.az</option>
76
+ <option value='.int.az'>.int.az</option>
77
+ <option value='.gov.az'>.gov.az</option>
78
+ <option value='.biz.az'>.biz.az</option>
79
+ <option value='.org.az'>.org.az</option>
80
+ <option value='.edu.az'>.edu.az</option>
81
+ <option value='.mil.az'>.mil.az</option>
82
+ <option value='.pp.az'>.pp.az</option>
83
+ <option value='.name.az'>.name.az</option>
84
+ <option value='.info.az'>.info.az</option>
85
+ </select><a href="JavaScript:document.whois.submit()"><img src="/imgs/tick.gif" width="20" height="16" border="0"></a>
86
+ </form></td>
87
+ </tr>
88
+ </table>
89
+ </td>
90
+ <td bgcolor="#EEECE9"" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
91
+ <td background="/imgs/vline.gif" valign="top">
92
+ <table width="100%" border="0" cellspacing="0" cellpadding="10">
93
+ <tr>
94
+ <td>Do a easy search below for your desired domain name, to check
95
+ for its availability before you proceed to register. <br>
96
+ You can find info about the following domains : <br>
97
+ az, com.az, net.az, int.az, gov.az, org.az, .edu.az, .info.az,
98
+ .pp.az, .mil.az, .name.az and biz.az.</td>
99
+ </tr>
100
+ </table>
101
+ </td><td bgcolor="#EEECE9"><img src="/imgs/dot.gif"></td>
102
+ </tr></table>
103
+ <table width="100%" border="0" cellspacing="0" cellpadding="0" background="/imgs/mid.jpg"><tr>
104
+ <td width="30%" bgcolor="#E3DFDC"><img src="/imgs/dot.gif" width="14" height="1"></td>
105
+ <td bgcolor="#EEECE9"><img src="/imgs/dot.gif" width="14" height="1"></td>
106
+ <td width="30%" bgcolor="#E3DFDC"><img src="/imgs/dot.gif" width="10" height="1"></td>
107
+ <td bgcolor="#EEECE9"><img src="/imgs/dot.gif" width="14" height="1"></td>
108
+ <td width="30%" bgcolor="#E3DFDC"><img src="/imgs/dot.gif" width="10" height="1"></td>
109
+ <td bgcolor="#EEECE9"><img src="/imgs/dot.gif" width="14" height="1"></td>
110
+ </tr>
111
+ <tr>
112
+ <td colspan="6" bgcolor="#D9D5D1"><img src="/imgs/dot.gif" width="14" height="1"></td>
113
+ </tr>
114
+ <td colspan="5" valign="top">
115
+ <br>
116
+ <div align="center"><b>INFORMATION ABOUT DOMAIN "google.az"</b></div><br>
117
+
118
+ <div align="center"><b>
119
+
120
+ </b></div><br>
121
+
122
+ <table border="0" cellspacing="0" cellpadding="10" width="100%">
123
+ <tr>
124
+ <td><img src="/imgs/dot.gif" width="10"></td>
125
+ <td valign="top" width="30%"><table border="0" cellspacing="0" cellpadding="5">
126
+
127
+ <tr><td>Organizations </td><td>Google Inc.</td></tr>
128
+ <tr><td>Name</td><td>Admin</td></tr>
129
+
130
+
131
+ </td></tr>
132
+
133
+ </p>
134
+ </table> </td>
135
+ <td valign="top" width="30%"><table border="0" cellspacing="0" cellpadding="5">
136
+ <tr><td>Address </td><td>94043, Mountain View, 1600 Amphitheatre Parkway</td></tr>
137
+ <tr><td>Phone </td><td>+16503300100</td></tr>
138
+ <tr><td>Fax </td><td>+16506188571<br></td></tr>
139
+ <tr><td>Email </td><td><a href=mailto:dns-admin@google.com>dns-admin@google.com</a></td></tr>
140
+ </p>
141
+ </table>
142
+ </td>
143
+ <td valign="top" width="30%">
144
+ <table border="0" cellspacing="0" cellpadding="5">
145
+ <tr>
146
+ <td valign="top" colspan=2 valign="top">
147
+
148
+
149
+ <tr><td>Name Servers : </td><td>ns1.google.com</td></tr>
150
+
151
+ <tr><td>Name Servers : </td><td>ns2.google.com</td></tr>
152
+
153
+ </td></tr>
154
+ </table>
155
+ </td>
156
+ </tr>
157
+ </table> </p>
158
+
159
+ <img src="/imgs/dot.gif" width="14" height="1">
160
+ </td>
161
+ <td><img src="/imgs/dot.gif" width="14" height="1"></td>
162
+ </tr>
163
+ </table>
164
+
165
+ <table width="100%" border="0" cellspacing="0"><tr>
166
+ <td colspan="2" bgcolor="#999999"><img src="/imgs/dot.gif" width="14" height="1"></td>
167
+ </tr> <tr>
168
+ <td valign="top" background="/imgs/bgbot.jpg"><img src="/imgs/who.gif" width="29" height="146"></td>
169
+ <td align="center" valign="middle" background="/imgs/bgbot.jpg"><img src="/imgs/choose.jpg" width="521" height="146"></td>
170
+ </tr>
171
+ <tr>
172
+ <td colspan="2" bgcolor="#999999"><img src="/imgs/dot.gif" width="14" height="1"></td>
173
+ </tr>
174
+ <tr>
175
+ <td colspan="2" background="/imgs/bottom.jpg" align="right">Copyright
176
+ &copy; by <a href="http://www.nt.az/">Network Technologies</a><img src="/imgs/dot.gif" width="11" height="56"></td>
177
+ </tr>
178
+ <tr>
179
+ <td colspan="2" bgcolor="#BABABA"><img src="/imgs/dot.gif" width="14" height="1"></td>
180
+ </tr>
181
+ </table>
182
+
183
+ </td>
184
+ <td background="/imgs/bg1.jpg"><img src="/imgs/dot.gif" width="18" height="1"></td>
185
+ </tr>
186
+ </table>
187
+ </body>
188
+ </html>
@@ -0,0 +1,192 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <title>Whois.Az</title>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
6
+ <link href="/whois.css" rel="stylesheet" type="text/css">
7
+ </head>
8
+
9
+ <body bgcolor="#F7F7F7" background="/imgs/bg.jpg" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
10
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
11
+ <tr>
12
+ <td><img src="/imgs/whois.gif" hspace="16"></td>
13
+ <td width="100%" valign="middle" align="center"><a href="http://www.az"><img border=0 src="/imgs/intrans.gif" alt="IntraNS" width="468" height="60"></a></td>
14
+
15
+ <td background="/imgs/bg1.jpg"><img src="/imgs/dot.gif" width="18" height="1"></td>
16
+ </tr>
17
+ </table>
18
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
19
+ <tr>
20
+ <td><img src="/imgs/dot.gif" width="16" height="8"></td>
21
+ <td width="100%" bgcolor="#AAA8A8"><img src="/imgs/dot.gif" width="16" height="6"></td>
22
+ <td background="/imgs/bg1.jpg"><img src="/imgs/dot.gif" width="18" height="1"></td>
23
+ </tr>
24
+ </table>
25
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
26
+ <tr>
27
+ <td><img src="/imgs/dot.gif" width="16" height="8"></td>
28
+ <td valign="top" width="90%" background="/imgs/topbg.gif"><img src="/imgs/welcome.gif" width="228" height="15" vspace="10"></td>
29
+ <td background="/imgs/topbg.gif"><img src="/imgs/dot.gif" width="2" height="67"></td>
30
+ <td valign="top" align="right" width="90%" background="/imgs/topbg.gif"><img src="/imgs/i.gif" width="32" height="28" hspace="10" vspace="8"><br>
31
+ <a href="/index_ru.html">ru</a> <a href="/index_az.html">az</a> <a href="/index.html">en</a><img src="/imgs/dot.gif" width="22" height="8"></td>
32
+ <td background="/imgs/bg1.jpg"><img src="/imgs/dot.gif" width="18" height="1"></td>
33
+ </tr></table>
34
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
35
+ <tr>
36
+ <td><img src="/imgs/dot.gif" width="13" height="1"></td>
37
+ <td align="left"><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
38
+ <td colspan="2" width="33%" background="/imgs/topbg1.gif" valign="top"><img src="/imgs/1.gif" width="98" height="8"><img src="/imgs/dot.gif" width="152" height="8"></td>
39
+ <td colspan="2" width="33%" background="/imgs/topbg1.gif" valign="top"><img src="/imgs/2.gif" width="123" height="8"><img src="/imgs/dot.gif" width="128" height="8"></td>
40
+ <td colspan="2" width="33%" background="/imgs/topbg1.gif" valign="top"><img src="/imgs/3.gif" width="65" height="8"></td>
41
+ </tr>
42
+ <tr><td colspan="6" width="100%" background="/imgs/linebg.gif"><img src="/imgs/dot.gif" width="16" height="7"></td>
43
+ </tr>
44
+ <tr>
45
+ <td colspan="2" width="33%" bgcolor="#EEECE9" valign="top">&nbsp;</td>
46
+ <td width="33%" align="right" bgcolor="#EEECE9" valign="top" class="title">check
47
+ the domain name<img src="/imgs/dot.gif" width="1" height="3"></td>
48
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
49
+ <td width="33%" align="right" bgcolor="#EEECE9" valign="top" class="title">information about domains in .az zone<img src="/imgs/dot.gif" width="1" height="3"></td>
50
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
51
+
52
+ </tr><tr>
53
+ <td width="30%" bgcolor="#E3DFDC" valign="top"></td>
54
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
55
+ <td width="30%" align="right" bgcolor="#E3DFDC" valign="top" class="title"><img src="/imgs/dot.gif" width="10" height="3"></td>
56
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
57
+ <td width="30%" align="right" bgcolor="#E3DFDC" valign="top" class="title"><img src="/imgs/dot.gif" width="10" height="3"></td>
58
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
59
+ </tr>
60
+ <tr>
61
+ <td background="/imgs/mapbg.jpg" align="center" valign="top"><img src="/imgs/map.jpg" width="230" height="117"></td>
62
+ <td bgcolor="#EEECE9" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
63
+ <td background="/imgs/hline.gif" valign="top"><br>
64
+ <form name="whois" action="/cgi-bin/whois.cgi" method="post">
65
+ <input type="hidden" name="lang" value="en"> <ul>
66
+ 1.Enter the name of
67
+ your domain (ex.nt.az)<br>
68
+ 2.Select your desired *ext</ul>
69
+ <ul><table cellpadding="0" cellspacing="0" border="0">
70
+ <tr><td valign="top"><input type='text' name='domain' size='18' maxlength="50" class='sub'></td>
71
+ <td valign="top"><select name='dom' class='sub'>
72
+ <option selected value='.az'>.az</option>
73
+ <option value='.com.az'>.com.az</option>
74
+ <option value='.co.az'>.co.az</option>
75
+ <option value='.net.az'>.net.az</option>
76
+ <option value='.int.az'>.int.az</option>
77
+ <option value='.gov.az'>.gov.az</option>
78
+ <option value='.biz.az'>.biz.az</option>
79
+ <option value='.org.az'>.org.az</option>
80
+ <option value='.edu.az'>.edu.az</option>
81
+ <option value='.mil.az'>.mil.az</option>
82
+ <option value='.pp.az'>.pp.az</option>
83
+ <option value='.name.az'>.name.az</option>
84
+ <option value='.info.az'>.info.az</option>
85
+ </select><a href="JavaScript:document.whois.submit()"><img src="/imgs/tick.gif" width="20" height="16" border="0"></a>
86
+ </form></td>
87
+ </tr>
88
+ </table>
89
+ </td>
90
+ <td bgcolor="#EEECE9"" valign="top"><img src="/imgs/dot.gif" width="14" height="6"></td>
91
+ <td background="/imgs/vline.gif" valign="top">
92
+ <table width="100%" border="0" cellspacing="0" cellpadding="10">
93
+ <tr>
94
+ <td>Do a easy search below for your desired domain name, to check
95
+ for its availability before you proceed to register. <br>
96
+ You can find info about the following domains : <br>
97
+ az, com.az, net.az, int.az, gov.az, org.az, .edu.az, .info.az,
98
+ .pp.az, .mil.az, .name.az and biz.az.</td>
99
+ </tr>
100
+ </table>
101
+ </td><td bgcolor="#EEECE9"><img src="/imgs/dot.gif"></td>
102
+ </tr></table>
103
+ <table width="100%" border="0" cellspacing="0" cellpadding="0" background="/imgs/mid.jpg"><tr>
104
+ <td width="30%" bgcolor="#E3DFDC"><img src="/imgs/dot.gif" width="14" height="1"></td>
105
+ <td bgcolor="#EEECE9"><img src="/imgs/dot.gif" width="14" height="1"></td>
106
+ <td width="30%" bgcolor="#E3DFDC"><img src="/imgs/dot.gif" width="10" height="1"></td>
107
+ <td bgcolor="#EEECE9"><img src="/imgs/dot.gif" width="14" height="1"></td>
108
+ <td width="30%" bgcolor="#E3DFDC"><img src="/imgs/dot.gif" width="10" height="1"></td>
109
+ <td bgcolor="#EEECE9"><img src="/imgs/dot.gif" width="14" height="1"></td>
110
+ </tr>
111
+ <tr>
112
+ <td colspan="6" bgcolor="#D9D5D1"><img src="/imgs/dot.gif" width="14" height="1"></td>
113
+ </tr>
114
+ <td colspan="5" valign="top">
115
+ <br>
116
+ <div align="center"><b>INFORMATION ABOUT DOMAIN "johnsmith.az"</b></div><br>
117
+
118
+ <div align="center"><b>
119
+
120
+ </b></div><br>
121
+
122
+ <table border="0" cellspacing="0" cellpadding="10" width="100%">
123
+ <tr>
124
+ <td><img src="/imgs/dot.gif" width="10"></td>
125
+ <td valign="top" width="30%"><table border="0" cellspacing="0" cellpadding="5">
126
+
127
+ <tr><td>Name </td><td>John Smith</td></tr>
128
+
129
+ </td></tr>
130
+
131
+ </p>
132
+ </table> </td>
133
+ <td valign="top" width="30%"><table border="0" cellspacing="0" cellpadding="5">
134
+ <tr><td>Address </td><td>221B Baker Street</td></tr>
135
+ <tr><td>Phone </td><td>+123000000000</td></tr>
136
+ <tr><td>Fax </td><td><br></td></tr>
137
+ <tr><td>Email </td><td><a href=mailto:john.smith@example.com>john.smith@example.com</a></td></tr>
138
+ </p>
139
+ </table>
140
+ </td>
141
+ <td valign="top" width="30%">
142
+ <table border="0" cellspacing="0" cellpadding="5">
143
+ <tr>
144
+ <td valign="top" colspan=2 valign="top">
145
+
146
+
147
+ <tr><td>Name Servers : </td><td>s.ns.example.net</td></tr>
148
+
149
+ <tr><td>Name Servers : </td><td>m.ns.example.net</td></tr>
150
+
151
+ <tr><td>Name Servers : </td><td>i.ns.example.net</td></tr>
152
+
153
+ <tr><td>Name Servers : </td><td>t.ns.example.net</td></tr>
154
+
155
+ <tr><td>Name Servers : </td><td>h.ns.example.net</td></tr>
156
+
157
+ </td></tr>
158
+ </table>
159
+ </td>
160
+ </tr>
161
+ </table> </p>
162
+
163
+ <img src="/imgs/dot.gif" width="14" height="1">
164
+ </td>
165
+ <td><img src="/imgs/dot.gif" width="14" height="1"></td>
166
+ </tr>
167
+ </table>
168
+
169
+ <table width="100%" border="0" cellspacing="0"><tr>
170
+ <td colspan="2" bgcolor="#999999"><img src="/imgs/dot.gif" width="14" height="1"></td>
171
+ </tr> <tr>
172
+ <td valign="top" background="/imgs/bgbot.jpg"><img src="/imgs/who.gif" width="29" height="146"></td>
173
+ <td align="center" valign="middle" background="/imgs/bgbot.jpg"><img src="/imgs/choose.jpg" width="521" height="146"></td>
174
+ </tr>
175
+ <tr>
176
+ <td colspan="2" bgcolor="#999999"><img src="/imgs/dot.gif" width="14" height="1"></td>
177
+ </tr>
178
+ <tr>
179
+ <td colspan="2" background="/imgs/bottom.jpg" align="right">Copyright
180
+ &copy; by <a href="http://www.nt.az/">Network Technologies</a><img src="/imgs/dot.gif" width="11" height="56"></td>
181
+ </tr>
182
+ <tr>
183
+ <td colspan="2" bgcolor="#BABABA"><img src="/imgs/dot.gif" width="14" height="1"></td>
184
+ </tr>
185
+ </table>
186
+
187
+ </td>
188
+ <td background="/imgs/bg1.jpg"><img src="/imgs/dot.gif" width="18" height="1"></td>
189
+ </tr>
190
+ </table>
191
+ </body>
192
+ </html>
@@ -0,0 +1,13 @@
1
+ require 'rspec'
2
+ require 'fakeweb'
3
+ require 'whoaz'
4
+
5
+ FakeWeb.allow_net_connect = false
6
+
7
+ def load_fixture(name)
8
+ File.open(File.dirname(__FILE__) + "/fixtures/#{name}.html").read
9
+ end
10
+
11
+ def fake_url(url, fixture_name, params)
12
+ FakeWeb.register_uri(:post, url, :body => load_fixture(fixture_name), :parameters => {:lang => 'en'}.merge(params))
13
+ end
@@ -0,0 +1,115 @@
1
+ require 'spec_helper'
2
+
3
+ describe Whoaz::Whois do
4
+ it { Whoaz.should respond_to :whois }
5
+
6
+ describe "empty domain query" do
7
+ it "should raise EmptyDomain" do
8
+ expect { Whoaz.whois }.to raise_error Whoaz::EmptyDomain, 'Domain not specified'
9
+ end
10
+ end
11
+
12
+ describe "invalid domain query" do
13
+ it "should raise InvalidDomain" do
14
+ expect { Whoaz.whois 'google' }.to raise_error Whoaz::InvalidDomain, 'Invalid domain specified'
15
+ expect { Whoaz.whois 'goo.gl' }.to raise_error Whoaz::InvalidDomain, 'Invalid domain specified'
16
+ end
17
+ end
18
+
19
+ describe "less than 3 characters long domain query" do
20
+ it "should raise DomainNameError" do
21
+ fake_url Whoaz::WHOIS_URL, 'less_than_3_chars', {:domain => 'i', :dom => '.az'}
22
+ expect { Whoaz.whois 'i.az' }.to raise_error Whoaz::DomainNameError, 'Whois query for this domain name is not supported.'
23
+ end
24
+ end
25
+
26
+ context "should check domain registration" do
27
+ context "when registered" do
28
+ before { fake_url Whoaz::WHOIS_URL, 'organization', {:domain => 'google', :dom => '.az'} }
29
+
30
+ describe "#free?" do
31
+ specify { Whoaz.whois('google.az').free?.should be_false }
32
+ end
33
+
34
+ describe "#registered?" do
35
+ specify { Whoaz.whois('google.az').registered?.should be_true }
36
+ end
37
+ end
38
+
39
+ context "when not registered" do
40
+ before { fake_url Whoaz::WHOIS_URL, 'free', {:domain => '404', :dom => '.az'} }
41
+
42
+ describe "#free?" do
43
+ specify { Whoaz.whois('google.az').free?.should be_true }
44
+ end
45
+
46
+ describe "#registered?" do
47
+ specify { Whoaz.whois('404.az').registered?.should be_false }
48
+ end
49
+ end
50
+ end
51
+
52
+ context "should return a whois info" do
53
+ context "when a person" do
54
+ before { fake_url Whoaz::WHOIS_URL, 'person', {:domain => 'johnsmith', :dom => '.az'} }
55
+ subject { Whoaz.whois 'johnsmith.az' }
56
+
57
+ describe "#organization" do
58
+ specify { subject.organization.should be_nil }
59
+ end
60
+
61
+ describe "#name" do
62
+ it "should return a registrant name" do
63
+ subject.name.should == 'John Smith'
64
+ end
65
+ end
66
+ end
67
+
68
+ context "when an organization" do
69
+ before { fake_url Whoaz::WHOIS_URL, 'organization', {:domain => 'google', :dom => '.az'} }
70
+ subject { Whoaz.whois 'google.az' }
71
+
72
+ describe "#organization" do
73
+ it "should return a registrant organization" do
74
+ subject.organization.should == 'Google Inc.'
75
+ end
76
+ end
77
+
78
+ describe "#name" do
79
+ it "should return a registrant name" do
80
+ subject.name.should == 'Admin'
81
+ end
82
+ end
83
+
84
+ describe "#address" do
85
+ it "should return a registrant address" do
86
+ subject.address.should == '94043, Mountain View, 1600 Amphitheatre Parkway'
87
+ end
88
+ end
89
+
90
+ describe "#phone" do
91
+ it "should return a registrant phone" do
92
+ subject.phone.should == '+16503300100'
93
+ end
94
+ end
95
+
96
+ describe "#fax" do
97
+ it "should return a registrant fax" do
98
+ subject.fax.should == '+16506188571'
99
+ end
100
+ end
101
+
102
+ describe "#email" do
103
+ it "should return a registrant email" do
104
+ subject.email.should == 'dns-admin@google.com'
105
+ end
106
+ end
107
+
108
+ describe "#nameservers" do
109
+ it "should return domain nameservers" do
110
+ subject.nameservers.should == ["ns1.google.com", "ns2.google.com"]
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end
data/whoaz.gemspec ADDED
@@ -0,0 +1,23 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/whoaz/version', __FILE__)
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.authors = ["Nihad Abbasov"]
6
+ gem.email = ["mail@narkoz.me"]
7
+ gem.description = %q{A gem that provides a nice way to interact with Whois.Az}
8
+ gem.summary = %q{Gets domain whois information from Whois.Az}
9
+ gem.homepage = "https://github.com/narkoz/whoaz"
10
+
11
+ gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
12
+ gem.files = `git ls-files`.split("\n")
13
+ gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
14
+ gem.name = "whoaz"
15
+ gem.require_paths = ["lib"]
16
+ gem.version = Whoaz::VERSION
17
+
18
+ gem.add_runtime_dependency 'nokogiri'
19
+
20
+ gem.add_development_dependency 'rake'
21
+ gem.add_development_dependency 'rspec'
22
+ gem.add_development_dependency 'fakeweb'
23
+ end
metadata ADDED
@@ -0,0 +1,120 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: whoaz
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Nihad Abbasov
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-01-29 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: nokogiri
16
+ requirement: &2169904380 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *2169904380
25
+ - !ruby/object:Gem::Dependency
26
+ name: rake
27
+ requirement: &2169903960 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *2169903960
36
+ - !ruby/object:Gem::Dependency
37
+ name: rspec
38
+ requirement: &2169903540 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *2169903540
47
+ - !ruby/object:Gem::Dependency
48
+ name: fakeweb
49
+ requirement: &2169903120 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *2169903120
58
+ description: A gem that provides a nice way to interact with Whois.Az
59
+ email:
60
+ - mail@narkoz.me
61
+ executables:
62
+ - whoaz
63
+ extensions: []
64
+ extra_rdoc_files: []
65
+ files:
66
+ - .gitignore
67
+ - Gemfile
68
+ - LICENSE
69
+ - README.md
70
+ - Rakefile
71
+ - bin/whoaz
72
+ - lib/whoaz.rb
73
+ - lib/whoaz/errors.rb
74
+ - lib/whoaz/ruby_ext.rb
75
+ - lib/whoaz/version.rb
76
+ - lib/whoaz/whois.rb
77
+ - spec/fixtures/free.html
78
+ - spec/fixtures/less_than_3_chars.html
79
+ - spec/fixtures/organization.html
80
+ - spec/fixtures/person.html
81
+ - spec/spec_helper.rb
82
+ - spec/whoaz/whois_spec.rb
83
+ - whoaz.gemspec
84
+ homepage: https://github.com/narkoz/whoaz
85
+ licenses: []
86
+ post_install_message:
87
+ rdoc_options: []
88
+ require_paths:
89
+ - lib
90
+ required_ruby_version: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ! '>='
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ segments:
97
+ - 0
98
+ hash: 4109073648025391866
99
+ required_rubygems_version: !ruby/object:Gem::Requirement
100
+ none: false
101
+ requirements:
102
+ - - ! '>='
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ segments:
106
+ - 0
107
+ hash: 4109073648025391866
108
+ requirements: []
109
+ rubyforge_project:
110
+ rubygems_version: 1.8.15
111
+ signing_key:
112
+ specification_version: 3
113
+ summary: Gets domain whois information from Whois.Az
114
+ test_files:
115
+ - spec/fixtures/free.html
116
+ - spec/fixtures/less_than_3_chars.html
117
+ - spec/fixtures/organization.html
118
+ - spec/fixtures/person.html
119
+ - spec/spec_helper.rb
120
+ - spec/whoaz/whois_spec.rb