whoaz 1.0.0 → 2.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.
- checksums.yaml +7 -0
- data/.travis.yml +4 -0
- data/{LICENSE → LICENSE.txt} +1 -1
- data/README.md +5 -3
- data/Rakefile +2 -1
- data/bin/whoaz +1 -21
- data/lib/whoaz.rb +8 -4
- data/lib/whoaz/errors.rb +7 -1
- data/lib/whoaz/version.rb +1 -1
- data/lib/whoaz/whois.rb +70 -48
- data/spec/fixtures/free.html +9 -10
- data/spec/fixtures/organization.html +74 -48
- data/spec/fixtures/person.html +93 -52
- data/spec/spec_helper.rb +9 -0
- data/spec/whoaz/whois_spec.rb +38 -24
- data/whoaz.gemspec +4 -1
- metadata +42 -39
- data/lib/whoaz/ruby_ext.rb +0 -5
- data/spec/fixtures/less_than_3_chars.html +0 -147
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 6505997becc000fc8ce2abf93bbfdef79dd5938f
|
4
|
+
data.tar.gz: df784db227599f5346db358d8fc2783f97cc690e
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: bca755e70f09d777516aab7b5048087d87bc6486b2a0a8292419590522cfd30c675ed18882e2c947105485e69bfa7b0bbe18965cf93c1aef7cf1c9e72a2a09db
|
7
|
+
data.tar.gz: da93add4bfa699a439853a503a6c1cde2cc140ff37474bfbe567250a51c1cebfb20ab06e15adbce17822645487ebd01f70a0374b3ec277f1dd1a67208e9be6c3
|
data/.travis.yml
ADDED
data/{LICENSE → LICENSE.txt}
RENAMED
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Whoaz
|
1
|
+
# Whoaz [](http://travis-ci.org/NARKOZ/whoaz)
|
2
2
|
|
3
3
|
Whoaz is a ruby gem that provides a nice way to interact with Whois.Az
|
4
4
|
|
@@ -13,7 +13,7 @@ gem install whoaz
|
|
13
13
|
Bundler:
|
14
14
|
|
15
15
|
```ruby
|
16
|
-
gem 'whoaz'
|
16
|
+
gem 'whoaz', '~> 2.0.0'
|
17
17
|
```
|
18
18
|
|
19
19
|
## Usage
|
@@ -32,6 +32,8 @@ whoaz.registered?
|
|
32
32
|
whoaz google.az
|
33
33
|
```
|
34
34
|
|
35
|
+
For more information see: [https://narkoz.github.io/whoaz](https://narkoz.github.io/whoaz)
|
36
|
+
|
35
37
|
## Copyright
|
36
38
|
|
37
|
-
Copyright (c) 2012 Nihad Abbasov
|
39
|
+
Released under the BSD 2-clause license. Copyright (c) 2012 Nihad Abbasov
|
data/Rakefile
CHANGED
@@ -3,7 +3,8 @@ require "bundler/gem_tasks"
|
|
3
3
|
|
4
4
|
require 'rspec/core/rake_task'
|
5
5
|
RSpec::Core::RakeTask.new(:spec) do |spec|
|
6
|
-
spec.pattern
|
6
|
+
spec.pattern = FileList['spec/**/*_spec.rb']
|
7
|
+
spec.rspec_opts = ['--color', '--format d']
|
7
8
|
end
|
8
9
|
|
9
10
|
task :default => :spec
|
data/bin/whoaz
CHANGED
@@ -40,24 +40,4 @@ rescue Whoaz::Error => e
|
|
40
40
|
end
|
41
41
|
|
42
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
|
-
"
|
43
|
+
puts "#{query.raw_domain_info}\n\n"
|
data/lib/whoaz.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'whoaz/version'
|
2
|
-
require 'whoaz/ruby_ext'
|
3
2
|
require 'whoaz/whois'
|
4
3
|
require 'whoaz/errors'
|
5
4
|
require 'net/http'
|
@@ -7,13 +6,18 @@ require 'nokogiri'
|
|
7
6
|
|
8
7
|
module Whoaz
|
9
8
|
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)
|
9
|
+
WHOIS_REFERER = 'http://nic.az' # The URL to the WHOIS server. It's the same as <tt>http://whois.az</tt>.
|
10
|
+
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 pro.az)
|
12
11
|
REGIONAL_TLD = %w(bilesuvar.az ganja.az imishli.az samux.az shamaxi.az shusha.az sumgait.az zaqatala.az)
|
13
12
|
|
13
|
+
# Creates a new Whois object.
|
14
|
+
#
|
15
|
+
# @param [String] domain The domain name required to query.
|
16
|
+
# @return [Whoaz::Whois]
|
14
17
|
def self.whois(domain='')
|
15
18
|
domain = domain.to_s.strip.downcase
|
16
|
-
raise EmptyDomain, "Domain not specified" if domain.empty?
|
19
|
+
raise EmptyDomain, "Domain name is not specified" if domain.empty?
|
20
|
+
raise InvalidDomain, "Domain name contains non-ASCII characters" if domain =~ /[^\x00-\x7f]/
|
17
21
|
Whoaz::Whois.new(domain)
|
18
22
|
end
|
19
23
|
end
|
data/lib/whoaz/errors.rb
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
module Whoaz
|
2
|
+
# Custom error class for rescuing from all Whoaz errors.
|
2
3
|
class Error < StandardError; end
|
4
|
+
|
5
|
+
# Raised when domain name is not passed.
|
3
6
|
class EmptyDomain < Error; end
|
7
|
+
|
8
|
+
# Raised when invalid domain name is passed.
|
4
9
|
class InvalidDomain < Error; end
|
10
|
+
|
11
|
+
# Raised when WHOIS server doesn't return the HTTP status code 200 (OK).
|
5
12
|
class ServerError < Error; end
|
6
|
-
class DomainNameError < Error; end
|
7
13
|
end
|
data/lib/whoaz/version.rb
CHANGED
data/lib/whoaz/whois.rb
CHANGED
@@ -1,66 +1,88 @@
|
|
1
1
|
module Whoaz
|
2
2
|
class Whois
|
3
|
-
|
3
|
+
# @return [String] The queried domain name.
|
4
|
+
attr_reader :domain
|
4
5
|
|
5
|
-
|
6
|
-
|
7
|
-
raise InvalidDomain, "Invalid domain specified" unless
|
8
|
-
[MAIN_TLD, REGIONAL_TLD].any? {|a| a.include? post_domain.last}
|
6
|
+
# @return [String] The name of the registrant.
|
7
|
+
attr_reader :name
|
9
8
|
|
10
|
-
|
11
|
-
|
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)}
|
9
|
+
# @return [String] The organization of the registrant.
|
10
|
+
attr_reader :organization
|
14
11
|
|
15
|
-
|
16
|
-
|
17
|
-
else
|
18
|
-
raise ServerError, "Server responded with code #{res.code}"
|
19
|
-
end
|
12
|
+
# @return [String] The address of the registrant.
|
13
|
+
attr_reader :address
|
20
14
|
|
21
|
-
|
22
|
-
|
23
|
-
end
|
15
|
+
# @return [String] The phone of the registrant.
|
16
|
+
attr_reader :phone
|
24
17
|
|
25
|
-
|
26
|
-
|
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
|
18
|
+
# @return [String] The fax of the registrant.
|
19
|
+
attr_reader :fax
|
31
20
|
|
32
|
-
|
33
|
-
|
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
|
21
|
+
# @return [String] The email of the registrant.
|
22
|
+
attr_reader :email
|
40
23
|
|
41
|
-
|
42
|
-
|
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
|
24
|
+
# @return [Array] An array of nameservers.
|
25
|
+
attr_reader :nameservers
|
53
26
|
|
54
|
-
|
55
|
-
|
56
|
-
|
27
|
+
# @return [Boolean] Availability of the domain.
|
28
|
+
attr_reader :free
|
29
|
+
alias_method :free?, :free
|
30
|
+
alias_method :available?, :free?
|
31
|
+
|
32
|
+
# Initializes a new Whois object.
|
33
|
+
#
|
34
|
+
# @param [String] domain The domain name required to query.
|
35
|
+
# @return [Whoaz::Whois]
|
36
|
+
def initialize(domain)
|
37
|
+
@domain = domain
|
57
38
|
|
58
|
-
|
59
|
-
|
39
|
+
if raw_domain_info.include?('is not exists') || raw_domain_info.include?('cannot be registered')
|
40
|
+
@free = true
|
41
|
+
else
|
42
|
+
@free = false
|
43
|
+
domain_info = raw_domain_info.split("\n")
|
44
|
+
@nameservers = domain_info[3].sub('Name Servers:', '').strip.split(',')
|
45
|
+
@organization = domain_info[16].sub('Organisation:', '').strip
|
46
|
+
@name = domain_info[17].sub('Name:', '').strip
|
47
|
+
@address = domain_info[19..23].join("\n").strip
|
48
|
+
@phone = domain_info[12].sub('Voice phone:', '').strip
|
49
|
+
@fax = domain_info[13].sub('Fax:', '').strip
|
50
|
+
@email = domain_info[11].sub('Email:', '').strip
|
51
|
+
end
|
60
52
|
end
|
61
53
|
|
54
|
+
# Checks if the domain name is registered or not.
|
55
|
+
#
|
56
|
+
# @return [Boolean]
|
62
57
|
def registered?
|
63
58
|
!free?
|
64
59
|
end
|
60
|
+
|
61
|
+
# Returns raw domain info as responded by WHOIS server.
|
62
|
+
#
|
63
|
+
# @return [String]
|
64
|
+
def raw_domain_info
|
65
|
+
@raw_domain_info ||= query
|
66
|
+
end
|
67
|
+
|
68
|
+
private
|
69
|
+
|
70
|
+
def query
|
71
|
+
post_domain = @domain.split('.', 2)
|
72
|
+
raise InvalidDomain, "Invalid domain name is specified" unless
|
73
|
+
(MAIN_TLD + REGIONAL_TLD).include? post_domain.last
|
74
|
+
|
75
|
+
url = URI WHOIS_URL
|
76
|
+
req = Net::HTTP::Post.new(url.path, 'Referer' => WHOIS_REFERER)
|
77
|
+
req.set_form_data(lang: 'en', domain: post_domain.first, dom: ".#{post_domain.last}")
|
78
|
+
res = Net::HTTP.new(url.host, url.port).start {|http| http.request(req)}
|
79
|
+
|
80
|
+
if res.code.to_i == 200
|
81
|
+
page = Nokogiri::HTML res.body
|
82
|
+
page.at_xpath('//table[4]/tr/td[2]/table[2]/td[1]/pre').text.strip
|
83
|
+
else
|
84
|
+
raise ServerError, "WHOIS server responded with status code #{res.code}"
|
85
|
+
end
|
86
|
+
end
|
65
87
|
end
|
66
88
|
end
|
data/spec/fixtures/free.html
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
|
1
2
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
2
3
|
<html>
|
3
4
|
<head>
|
@@ -74,7 +75,6 @@
|
|
74
75
|
<option value='.co.az'>.co.az</option>
|
75
76
|
<option value='.net.az'>.net.az</option>
|
76
77
|
<option value='.int.az'>.int.az</option>
|
77
|
-
<option value='.gov.az'>.gov.az</option>
|
78
78
|
<option value='.biz.az'>.biz.az</option>
|
79
79
|
<option value='.org.az'>.org.az</option>
|
80
80
|
<option value='.edu.az'>.edu.az</option>
|
@@ -91,10 +91,10 @@
|
|
91
91
|
<td background="/imgs/vline.gif" valign="top">
|
92
92
|
<table width="100%" border="0" cellspacing="0" cellpadding="10">
|
93
93
|
<tr>
|
94
|
-
<td>Do
|
94
|
+
<td>Do an easy search below for your desired domain name, to check
|
95
95
|
for its availability before you proceed to register. <br>
|
96
96
|
You can find info about the following domains : <br>
|
97
|
-
az, com.az, net.az, int.az,
|
97
|
+
az, com.az, net.az, int.az, org.az, .edu.az, .info.az,
|
98
98
|
.pp.az, .mil.az, .name.az and biz.az.</td>
|
99
99
|
</tr>
|
100
100
|
</table>
|
@@ -112,12 +112,11 @@
|
|
112
112
|
<td colspan="6" bgcolor="#D9D5D1"><img src="/imgs/dot.gif" width="14" height="1"></td>
|
113
113
|
</tr>
|
114
114
|
<td colspan="5" valign="top">
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
115
|
+
|
116
|
+
<pre>
|
117
|
+
Domain 404.AZ is not exists
|
118
|
+
|
119
|
+
</pre>
|
121
120
|
<img src="/imgs/dot.gif" width="14" height="1">
|
122
121
|
</td>
|
123
122
|
<td><img src="/imgs/dot.gif" width="14" height="1"></td>
|
@@ -128,7 +127,7 @@
|
|
128
127
|
<td colspan="2" bgcolor="#999999"><img src="/imgs/dot.gif" width="14" height="1"></td>
|
129
128
|
</tr> <tr>
|
130
129
|
<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"
|
130
|
+
<td align="center" valign="middle" background="/imgs/bgbot.jpg"></td>
|
132
131
|
</tr>
|
133
132
|
<tr>
|
134
133
|
<td colspan="2" bgcolor="#999999"><img src="/imgs/dot.gif" width="14" height="1"></td>
|
@@ -1,3 +1,4 @@
|
|
1
|
+
|
1
2
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
2
3
|
<html>
|
3
4
|
<head>
|
@@ -74,7 +75,6 @@
|
|
74
75
|
<option value='.co.az'>.co.az</option>
|
75
76
|
<option value='.net.az'>.net.az</option>
|
76
77
|
<option value='.int.az'>.int.az</option>
|
77
|
-
<option value='.gov.az'>.gov.az</option>
|
78
78
|
<option value='.biz.az'>.biz.az</option>
|
79
79
|
<option value='.org.az'>.org.az</option>
|
80
80
|
<option value='.edu.az'>.edu.az</option>
|
@@ -91,10 +91,10 @@
|
|
91
91
|
<td background="/imgs/vline.gif" valign="top">
|
92
92
|
<table width="100%" border="0" cellspacing="0" cellpadding="10">
|
93
93
|
<tr>
|
94
|
-
<td>Do
|
94
|
+
<td>Do an easy search below for your desired domain name, to check
|
95
95
|
for its availability before you proceed to register. <br>
|
96
96
|
You can find info about the following domains : <br>
|
97
|
-
az, com.az, net.az, int.az,
|
97
|
+
az, com.az, net.az, int.az, org.az, .edu.az, .info.az,
|
98
98
|
.pp.az, .mil.az, .name.az and biz.az.</td>
|
99
99
|
</tr>
|
100
100
|
</table>
|
@@ -112,50 +112,76 @@
|
|
112
112
|
<td colspan="6" bgcolor="#D9D5D1"><img src="/imgs/dot.gif" width="14" height="1"></td>
|
113
113
|
</tr>
|
114
114
|
<td colspan="5" valign="top">
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
115
|
+
|
116
|
+
<pre>
|
117
|
+
|
118
|
+
|
119
|
+
Info for domain GOOGLE.AZ
|
120
|
+
|
121
|
+
Status:
|
122
|
+
Name Servers: NS1.GOOGLE.COM,NS2.GOOGLE.COM
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
|
128
|
+
Type: Registrant Admin contact
|
129
|
+
Status: ok
|
130
|
+
Email: dns-admin@google.com
|
131
|
+
Voice phone: +16503300100
|
132
|
+
Fax: +16506188571
|
133
|
+
|
134
|
+
International info:
|
135
|
+
Organisation: Google Inc.
|
136
|
+
Name: Admin,
|
137
|
+
Address:
|
138
|
+
Country Code: US
|
139
|
+
Province: CA
|
140
|
+
City: Mountain View
|
141
|
+
Street addr: 1600 Amphitheatre Parkway
|
142
|
+
Postal code: 94043
|
143
|
+
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
Type: Tech contact
|
148
|
+
Status: ok
|
149
|
+
Email: dns-admin@google.com
|
150
|
+
Voice phone: +16503300100
|
151
|
+
Fax: +16506188571
|
152
|
+
|
153
|
+
International info:
|
154
|
+
Organisation: Google Inc.
|
155
|
+
Name: Admin,
|
156
|
+
Address:
|
157
|
+
Country Code: US
|
158
|
+
Province: CA
|
159
|
+
City: Mountain View
|
160
|
+
Street addr: 1600 Amphitheatre Parkway
|
161
|
+
Postal code: 94043
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
|
166
|
+
Type: Billing contact
|
167
|
+
Status: ok
|
168
|
+
Email: ccops@markmonitor.com
|
169
|
+
Voice phone: +12083895740
|
170
|
+
Fax: +12083895799
|
171
|
+
|
172
|
+
International info:
|
173
|
+
Organisation: MarkMonitor
|
174
|
+
Name: Kevin Pearl,
|
175
|
+
Address:
|
176
|
+
Country Code: US
|
177
|
+
Province: ID
|
178
|
+
City: Boise
|
179
|
+
Street addr: 10400 OVerland Rd. PMB 155
|
180
|
+
Postal code: 83709
|
181
|
+
|
182
|
+
|
183
|
+
|
184
|
+
</pre>
|
159
185
|
<img src="/imgs/dot.gif" width="14" height="1">
|
160
186
|
</td>
|
161
187
|
<td><img src="/imgs/dot.gif" width="14" height="1"></td>
|
@@ -166,7 +192,7 @@
|
|
166
192
|
<td colspan="2" bgcolor="#999999"><img src="/imgs/dot.gif" width="14" height="1"></td>
|
167
193
|
</tr> <tr>
|
168
194
|
<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"
|
195
|
+
<td align="center" valign="middle" background="/imgs/bgbot.jpg"></td>
|
170
196
|
</tr>
|
171
197
|
<tr>
|
172
198
|
<td colspan="2" bgcolor="#999999"><img src="/imgs/dot.gif" width="14" height="1"></td>
|
data/spec/fixtures/person.html
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
|
1
2
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
2
3
|
<html>
|
3
4
|
<head>
|
@@ -74,7 +75,6 @@
|
|
74
75
|
<option value='.co.az'>.co.az</option>
|
75
76
|
<option value='.net.az'>.net.az</option>
|
76
77
|
<option value='.int.az'>.int.az</option>
|
77
|
-
<option value='.gov.az'>.gov.az</option>
|
78
78
|
<option value='.biz.az'>.biz.az</option>
|
79
79
|
<option value='.org.az'>.org.az</option>
|
80
80
|
<option value='.edu.az'>.edu.az</option>
|
@@ -91,10 +91,10 @@
|
|
91
91
|
<td background="/imgs/vline.gif" valign="top">
|
92
92
|
<table width="100%" border="0" cellspacing="0" cellpadding="10">
|
93
93
|
<tr>
|
94
|
-
<td>Do
|
94
|
+
<td>Do an easy search below for your desired domain name, to check
|
95
95
|
for its availability before you proceed to register. <br>
|
96
96
|
You can find info about the following domains : <br>
|
97
|
-
az, com.az, net.az, int.az,
|
97
|
+
az, com.az, net.az, int.az, org.az, .edu.az, .info.az,
|
98
98
|
.pp.az, .mil.az, .name.az and biz.az.</td>
|
99
99
|
</tr>
|
100
100
|
</table>
|
@@ -112,54 +112,95 @@
|
|
112
112
|
<td colspan="6" bgcolor="#D9D5D1"><img src="/imgs/dot.gif" width="14" height="1"></td>
|
113
113
|
</tr>
|
114
114
|
<td colspan="5" valign="top">
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
115
|
+
|
116
|
+
<pre>
|
117
|
+
|
118
|
+
|
119
|
+
Info for domain JOHNSMITH.AZ
|
120
|
+
|
121
|
+
Status:
|
122
|
+
Name Servers: S.NS.EXAMPLE.NET,M.NS.EXAMPLE.NET,I.NS.EXAMPLE.NET,T.NS.EXAMPLE.NET,H.NS.EXAMPLE.NET
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
|
128
|
+
Type: Registrant
|
129
|
+
Status: ok
|
130
|
+
Email: john.smith@example.com
|
131
|
+
Voice phone: +123000000000
|
132
|
+
Fax: +123.0
|
133
|
+
|
134
|
+
International info:
|
135
|
+
Organisation:
|
136
|
+
Name: John Smith
|
137
|
+
Address:
|
138
|
+
Country Code: UK
|
139
|
+
Province: UK1000
|
140
|
+
City: London
|
141
|
+
Street addr: 221B Baker Street
|
142
|
+
Postal code: UK1000
|
143
|
+
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
Type: Admin contact
|
148
|
+
Status: ok
|
149
|
+
Email: john.smith@example.com
|
150
|
+
Voice phone: +123000000000
|
151
|
+
Fax: +123.0
|
152
|
+
|
153
|
+
International info:
|
154
|
+
Organisation:
|
155
|
+
Name: John Smith
|
156
|
+
Address:
|
157
|
+
Country Code: UK
|
158
|
+
Province:
|
159
|
+
City: Baku
|
160
|
+
Street addr: NO ADDRESS
|
161
|
+
Postal code:
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
|
166
|
+
Type: Tech contact
|
167
|
+
Status: ok
|
168
|
+
Email: john.smith@example.com
|
169
|
+
Voice phone: +123000000000
|
170
|
+
Fax: +123.0
|
171
|
+
|
172
|
+
International info:
|
173
|
+
Organisation:
|
174
|
+
Name: John Smith
|
175
|
+
Address:
|
176
|
+
Country Code: UK
|
177
|
+
Province:
|
178
|
+
City: Baku
|
179
|
+
Street addr: NO ADDRESS
|
180
|
+
Postal code:
|
181
|
+
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
Type: Billing contact
|
186
|
+
Status: ok
|
187
|
+
Email: john.smith@example.com
|
188
|
+
Voice phone: +123000000000
|
189
|
+
Fax: +123.0
|
190
|
+
|
191
|
+
International info:
|
192
|
+
Organisation:
|
193
|
+
Name: John Smith
|
194
|
+
Address:
|
195
|
+
Country Code: UK
|
196
|
+
Province:
|
197
|
+
City: Baku
|
198
|
+
Street addr: NO ADDRESS
|
199
|
+
Postal code:
|
200
|
+
|
201
|
+
|
202
|
+
|
203
|
+
</pre>
|
163
204
|
<img src="/imgs/dot.gif" width="14" height="1">
|
164
205
|
</td>
|
165
206
|
<td><img src="/imgs/dot.gif" width="14" height="1"></td>
|
@@ -170,7 +211,7 @@
|
|
170
211
|
<td colspan="2" bgcolor="#999999"><img src="/imgs/dot.gif" width="14" height="1"></td>
|
171
212
|
</tr> <tr>
|
172
213
|
<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"
|
214
|
+
<td align="center" valign="middle" background="/imgs/bgbot.jpg"></td>
|
174
215
|
</tr>
|
175
216
|
<tr>
|
176
217
|
<td colspan="2" bgcolor="#999999"><img src="/imgs/dot.gif" width="14" height="1"></td>
|
data/spec/spec_helper.rb
CHANGED
@@ -4,6 +4,15 @@ require 'whoaz'
|
|
4
4
|
|
5
5
|
FakeWeb.allow_net_connect = false
|
6
6
|
|
7
|
+
# Patch for Ruby >= 2.2
|
8
|
+
# https://github.com/chrisk/fakeweb/pull/59
|
9
|
+
module FakeWeb
|
10
|
+
class StubSocket
|
11
|
+
def close
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
7
16
|
def load_fixture(name)
|
8
17
|
File.open(File.dirname(__FILE__) + "/fixtures/#{name}.html").read
|
9
18
|
end
|
data/spec/whoaz/whois_spec.rb
CHANGED
@@ -1,25 +1,19 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Whoaz::Whois do
|
4
|
-
it { Whoaz.
|
4
|
+
it { expect(Whoaz).to respond_to :whois }
|
5
5
|
|
6
6
|
describe "empty domain query" do
|
7
7
|
it "should raise EmptyDomain" do
|
8
|
-
expect { Whoaz.whois }.to raise_error Whoaz::EmptyDomain, 'Domain not specified'
|
8
|
+
expect { Whoaz.whois }.to raise_error Whoaz::EmptyDomain, 'Domain name is not specified'
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
12
12
|
describe "invalid domain query" do
|
13
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
|
-
|
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.'
|
14
|
+
expect { Whoaz.whois 'google' }.to raise_error Whoaz::InvalidDomain, 'Invalid domain name is specified'
|
15
|
+
expect { Whoaz.whois 'goo.gl' }.to raise_error Whoaz::InvalidDomain, 'Invalid domain name is specified'
|
16
|
+
expect { Whoaz.whois 'алм.az' }.to raise_error Whoaz::InvalidDomain, 'Domain name contains non-ASCII characters'
|
23
17
|
end
|
24
18
|
end
|
25
19
|
|
@@ -28,11 +22,15 @@ describe Whoaz::Whois do
|
|
28
22
|
before { fake_url Whoaz::WHOIS_URL, 'organization', {:domain => 'google', :dom => '.az'} }
|
29
23
|
|
30
24
|
describe "#free?" do
|
31
|
-
specify { Whoaz.whois('google.az').free
|
25
|
+
specify { expect(Whoaz.whois('google.az').free?).to be false }
|
32
26
|
end
|
33
27
|
|
34
28
|
describe "#registered?" do
|
35
|
-
specify { Whoaz.whois('google.az').registered
|
29
|
+
specify { expect(Whoaz.whois('google.az').registered?).to be true }
|
30
|
+
end
|
31
|
+
|
32
|
+
describe "#available?" do
|
33
|
+
specify { expect(Whoaz.whois('google.az').available?).to be false }
|
36
34
|
end
|
37
35
|
end
|
38
36
|
|
@@ -40,11 +38,15 @@ describe Whoaz::Whois do
|
|
40
38
|
before { fake_url Whoaz::WHOIS_URL, 'free', {:domain => '404', :dom => '.az'} }
|
41
39
|
|
42
40
|
describe "#free?" do
|
43
|
-
specify { Whoaz.whois('google.az').free
|
41
|
+
specify { expect(Whoaz.whois('google.az').free?).to be true }
|
44
42
|
end
|
45
43
|
|
46
44
|
describe "#registered?" do
|
47
|
-
specify { Whoaz.whois('404.az').registered
|
45
|
+
specify { expect(Whoaz.whois('404.az').registered?).to be false }
|
46
|
+
end
|
47
|
+
|
48
|
+
describe "#available?" do
|
49
|
+
specify { expect(Whoaz.whois('google.az').available?).to be true }
|
48
50
|
end
|
49
51
|
end
|
50
52
|
end
|
@@ -54,13 +56,19 @@ describe Whoaz::Whois do
|
|
54
56
|
before { fake_url Whoaz::WHOIS_URL, 'person', {:domain => 'johnsmith', :dom => '.az'} }
|
55
57
|
subject { Whoaz.whois 'johnsmith.az' }
|
56
58
|
|
59
|
+
describe "#domain" do
|
60
|
+
it "should return a domain name" do
|
61
|
+
expect(subject.domain).to eq('johnsmith.az')
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
57
65
|
describe "#organization" do
|
58
|
-
specify { subject.organization.
|
66
|
+
specify { expect(subject.organization).to eq('') }
|
59
67
|
end
|
60
68
|
|
61
69
|
describe "#name" do
|
62
70
|
it "should return a registrant name" do
|
63
|
-
subject.name.
|
71
|
+
expect(subject.name).to eq('John Smith')
|
64
72
|
end
|
65
73
|
end
|
66
74
|
end
|
@@ -69,45 +77,51 @@ describe Whoaz::Whois do
|
|
69
77
|
before { fake_url Whoaz::WHOIS_URL, 'organization', {:domain => 'google', :dom => '.az'} }
|
70
78
|
subject { Whoaz.whois 'google.az' }
|
71
79
|
|
80
|
+
describe "#domain" do
|
81
|
+
it "should return a domain name" do
|
82
|
+
expect(subject.domain).to eq('google.az')
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
72
86
|
describe "#organization" do
|
73
87
|
it "should return a registrant organization" do
|
74
|
-
subject.organization.
|
88
|
+
expect(subject.organization).to eq('Google Inc.')
|
75
89
|
end
|
76
90
|
end
|
77
91
|
|
78
92
|
describe "#name" do
|
79
93
|
it "should return a registrant name" do
|
80
|
-
subject.name.
|
94
|
+
expect(subject.name).to eq('Admin,')
|
81
95
|
end
|
82
96
|
end
|
83
97
|
|
84
98
|
describe "#address" do
|
85
99
|
it "should return a registrant address" do
|
86
|
-
subject.address.
|
100
|
+
expect(subject.address).to eq("Country Code: US\n Province: CA\n City: Mountain View\n Street addr: 1600 Amphitheatre Parkway\n Postal code: 94043")
|
87
101
|
end
|
88
102
|
end
|
89
103
|
|
90
104
|
describe "#phone" do
|
91
105
|
it "should return a registrant phone" do
|
92
|
-
subject.phone.
|
106
|
+
expect(subject.phone).to eq('+16503300100')
|
93
107
|
end
|
94
108
|
end
|
95
109
|
|
96
110
|
describe "#fax" do
|
97
111
|
it "should return a registrant fax" do
|
98
|
-
subject.fax.
|
112
|
+
expect(subject.fax).to eq('+16506188571')
|
99
113
|
end
|
100
114
|
end
|
101
115
|
|
102
116
|
describe "#email" do
|
103
117
|
it "should return a registrant email" do
|
104
|
-
subject.email.
|
118
|
+
expect(subject.email).to eq('dns-admin@google.com')
|
105
119
|
end
|
106
120
|
end
|
107
121
|
|
108
122
|
describe "#nameservers" do
|
109
123
|
it "should return domain nameservers" do
|
110
|
-
subject.nameservers.
|
124
|
+
expect(subject.nameservers).to eq(["NS1.GOOGLE.COM", "NS2.GOOGLE.COM"])
|
111
125
|
end
|
112
126
|
end
|
113
127
|
end
|
data/whoaz.gemspec
CHANGED
@@ -6,7 +6,8 @@ Gem::Specification.new do |gem|
|
|
6
6
|
gem.email = ["mail@narkoz.me"]
|
7
7
|
gem.description = %q{A gem that provides a nice way to interact with Whois.Az}
|
8
8
|
gem.summary = %q{Gets domain whois information from Whois.Az}
|
9
|
-
gem.homepage = "https://github.
|
9
|
+
gem.homepage = "https://narkoz.github.io/whoaz"
|
10
|
+
gem.license = "BSD"
|
10
11
|
|
11
12
|
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
12
13
|
gem.files = `git ls-files`.split("\n")
|
@@ -15,6 +16,8 @@ Gem::Specification.new do |gem|
|
|
15
16
|
gem.require_paths = ["lib"]
|
16
17
|
gem.version = Whoaz::VERSION
|
17
18
|
|
19
|
+
gem.required_ruby_version = ">= 2.0.0"
|
20
|
+
|
18
21
|
gem.add_runtime_dependency 'nokogiri'
|
19
22
|
|
20
23
|
gem.add_development_dependency 'rake'
|
metadata
CHANGED
@@ -1,60 +1,71 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: whoaz
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
5
|
-
prerelease:
|
4
|
+
version: 2.0.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Nihad Abbasov
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2017-05-04 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: nokogiri
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
25
27
|
- !ruby/object:Gem::Dependency
|
26
28
|
name: rake
|
27
|
-
requirement:
|
28
|
-
none: false
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
|
-
- -
|
31
|
+
- - ">="
|
31
32
|
- !ruby/object:Gem::Version
|
32
33
|
version: '0'
|
33
34
|
type: :development
|
34
35
|
prerelease: false
|
35
|
-
version_requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
36
41
|
- !ruby/object:Gem::Dependency
|
37
42
|
name: rspec
|
38
|
-
requirement:
|
39
|
-
none: false
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
40
44
|
requirements:
|
41
|
-
- -
|
45
|
+
- - ">="
|
42
46
|
- !ruby/object:Gem::Version
|
43
47
|
version: '0'
|
44
48
|
type: :development
|
45
49
|
prerelease: false
|
46
|
-
version_requirements:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
47
55
|
- !ruby/object:Gem::Dependency
|
48
56
|
name: fakeweb
|
49
|
-
requirement:
|
50
|
-
none: false
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
51
58
|
requirements:
|
52
|
-
- -
|
59
|
+
- - ">="
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: '0'
|
55
62
|
type: :development
|
56
63
|
prerelease: false
|
57
|
-
version_requirements:
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
58
69
|
description: A gem that provides a nice way to interact with Whois.Az
|
59
70
|
email:
|
60
71
|
- mail@narkoz.me
|
@@ -63,57 +74,49 @@ executables:
|
|
63
74
|
extensions: []
|
64
75
|
extra_rdoc_files: []
|
65
76
|
files:
|
66
|
-
- .gitignore
|
77
|
+
- ".gitignore"
|
78
|
+
- ".travis.yml"
|
67
79
|
- Gemfile
|
68
|
-
- LICENSE
|
80
|
+
- LICENSE.txt
|
69
81
|
- README.md
|
70
82
|
- Rakefile
|
71
83
|
- bin/whoaz
|
72
84
|
- lib/whoaz.rb
|
73
85
|
- lib/whoaz/errors.rb
|
74
|
-
- lib/whoaz/ruby_ext.rb
|
75
86
|
- lib/whoaz/version.rb
|
76
87
|
- lib/whoaz/whois.rb
|
77
88
|
- spec/fixtures/free.html
|
78
|
-
- spec/fixtures/less_than_3_chars.html
|
79
89
|
- spec/fixtures/organization.html
|
80
90
|
- spec/fixtures/person.html
|
81
91
|
- spec/spec_helper.rb
|
82
92
|
- spec/whoaz/whois_spec.rb
|
83
93
|
- whoaz.gemspec
|
84
|
-
homepage: https://github.
|
85
|
-
licenses:
|
94
|
+
homepage: https://narkoz.github.io/whoaz
|
95
|
+
licenses:
|
96
|
+
- BSD
|
97
|
+
metadata: {}
|
86
98
|
post_install_message:
|
87
99
|
rdoc_options: []
|
88
100
|
require_paths:
|
89
101
|
- lib
|
90
102
|
required_ruby_version: !ruby/object:Gem::Requirement
|
91
|
-
none: false
|
92
103
|
requirements:
|
93
|
-
- -
|
104
|
+
- - ">="
|
94
105
|
- !ruby/object:Gem::Version
|
95
|
-
version:
|
96
|
-
segments:
|
97
|
-
- 0
|
98
|
-
hash: 4109073648025391866
|
106
|
+
version: 2.0.0
|
99
107
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
100
|
-
none: false
|
101
108
|
requirements:
|
102
|
-
- -
|
109
|
+
- - ">="
|
103
110
|
- !ruby/object:Gem::Version
|
104
111
|
version: '0'
|
105
|
-
segments:
|
106
|
-
- 0
|
107
|
-
hash: 4109073648025391866
|
108
112
|
requirements: []
|
109
113
|
rubyforge_project:
|
110
|
-
rubygems_version:
|
114
|
+
rubygems_version: 2.6.10
|
111
115
|
signing_key:
|
112
|
-
specification_version:
|
116
|
+
specification_version: 4
|
113
117
|
summary: Gets domain whois information from Whois.Az
|
114
118
|
test_files:
|
115
119
|
- spec/fixtures/free.html
|
116
|
-
- spec/fixtures/less_than_3_chars.html
|
117
120
|
- spec/fixtures/organization.html
|
118
121
|
- spec/fixtures/person.html
|
119
122
|
- spec/spec_helper.rb
|
data/lib/whoaz/ruby_ext.rb
DELETED
@@ -1,147 +0,0 @@
|
|
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"> </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
|
-
© 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>
|