whoaz 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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