Skip to content

Commit e6cf7d8

Browse files
committed
Update samples
1 parent 294b06a commit e6cf7d8

7 files changed

Lines changed: 45 additions & 64 deletions

File tree

apikey/net/ApiKeyAuthTest.cs

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,12 @@ public void Run()
3737
"whoisxmlapi.com",
3838
"twitter.com"
3939
};
40-
bool reuseDigest = true;
41-
4240
this.PerformRequest(username, apiKey, secretKey,
43-
url, domains, reuseDigest);
41+
url, domains);
4442
}
4543

4644
protected void PerformRequest(string username, string apiKey,
47-
string secretKey, string url, string[] domains, bool reuseDigest)
45+
string secretKey, string url, string[] domains)
4846
{
4947
long timestamp = this.GetTimeStamp();
5048
string digest = this.GenerateDigest(
@@ -55,13 +53,6 @@ protected void PerformRequest(string username, string apiKey,
5553
{
5654
try
5755
{
58-
if (!reuseDigest)
59-
{
60-
timestamp = this.GetTimeStamp();
61-
digest = this.GenerateDigest(
62-
username, apiKey, secretKey, timestamp
63-
);
64-
}
6556
string request = this.BuildRequest(
6657
username, timestamp, digest, domain
6758
);
@@ -88,7 +79,7 @@ protected void PerformRequest(string username, string apiKey,
8879
}
8980
Console.ReadLine();
9081
}
91-
82+
9283
protected string GenerateDigest(
9384
string username, string apiKey, string secretKey, long timestamp
9485
)

apikey/net/VisualStudio2017/ApiKeyAuthTest.cs

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,12 @@ public void Run()
3737
"whoisxmlapi.com",
3838
"twitter.com"
3939
};
40-
bool reuseDigest = true;
41-
4240
this.PerformRequest(username, apiKey, secretKey,
43-
url, domains, reuseDigest);
41+
url, domains);
4442
}
4543

4644
protected void PerformRequest(string username, string apiKey,
47-
string secretKey, string url, string[] domains, bool reuseDigest)
45+
string secretKey, string url, string[] domains)
4846
{
4947
long timestamp = this.GetTimeStamp();
5048
string digest = this.GenerateDigest(
@@ -55,13 +53,6 @@ protected void PerformRequest(string username, string apiKey,
5553
{
5654
try
5755
{
58-
if (!reuseDigest)
59-
{
60-
timestamp = this.GetTimeStamp();
61-
digest = this.GenerateDigest(
62-
username, apiKey, secretKey, timestamp
63-
);
64-
}
6556
string request = this.BuildRequest(
6657
username, timestamp, digest, domain
6758
);

apikey/nodejs/whois.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ function getWhois(username, apiKey, secretKey, domain)
4444
}).on('error', function(e) {
4545
console.log("Error: " + e.message);
4646
});
47-
4847
}
4948

5049
function generateDigest(username, timestamp, apiKey, secretKey) {

apikey/perl/whois.pl

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,11 @@
1818
my $username = 'username';
1919
my $apiKey = 'api_key';
2020
my $secret = 'secret_key';
21-
my $reuseDigest = 0;
22-
my $timestamp = int((time * 1000 + 0.5));
2321

22+
my $timestamp = int((time * 1000 + 0.5));
2423
my $digest = generateDigest($username, $timestamp, $apiKey, $secret);
2524

2625
foreach my $domain (@domains){
27-
if (!$reuseDigest){
28-
$timestamp = int((time * 1000 + 0.5));
29-
$digest = generateDigest($username, $timestamp, $apiKey, $secret);
30-
}
3126
my $requstString = buildRequest(
3227
$username,
3328
$timestamp,
@@ -65,7 +60,7 @@ sub buildRequest{
6560
'u' => $username,
6661
't' => $timestamp
6762
);
68-
my $requestJson = encode_json(%request);
63+
my $requestJson = encode_json(\%request);
6964
my $requestBase64 = encode_base64($requestJson);
7065
$requestString .= uri_escape($requestBase64);
7166
$requestString .= '&digest=';

apikey/php/whois.php

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,34 +2,42 @@
22
$username = 'username';
33
$apiKey = 'api_key';
44
$secret = 'secret_key';
5-
$reuseDigest = false;
65
$url = 'https://whoisxmlapi.com/whoisserver/WhoisService?';
7-
$timestamp = round(microtime(true) * 1000);
6+
$timestamp = null;
87
$domains = array(
98
'google.com',
109
'example.com',
1110
'whoisxmlapi.com',
1211
'twitter.com',
1312
);
13+
$digest = null;
14+
15+
generateParameters($timestamp, $digest, $username, $apiKey, $secret);
1416

15-
$digest = generateDigest($username, $timestamp, $apiKey, $secret);
1617
foreach ($domains as $domain) {
17-
if (!$reuseDigest) {
18-
$timestamp = round(microtime(true) * 1000);
19-
$digest = generateDigest($username, $timestamp, $apiKey, $secret);
20-
}
21-
$requestString = buildRequest($username, $timestamp, $digest, $domain);
22-
$response = file_get_contents($url . $requestString);
18+
$response = request($url, $username, $timestamp, $digest, $domain);
2319
if (strpos($response, 'Request timeout') !== false) {
24-
$timestamp = round(microtime(true) * 1000);
25-
$digest = generateDigest($username, $timestamp, $apiKey, $secret);
26-
$requestString = buildRequest($username, $timestamp, $digest, $domain);
27-
$response = file_get_contents($url . $requestString);
20+
generateParameters($timestamp, $digest, $username, $apiKey, $secret);
21+
$response = request($url, $username, $timestamp, $digest, $domain);
2822
}
2923
printResponse($response);
3024
echo '----------------------------' . "\n";
3125
}
3226

27+
function generateParameters(
28+
&$timestamp, &$digest, $username, $apiKey, $secret
29+
)
30+
{
31+
$timestamp = round(microtime(true) * 1000);
32+
$digest = generateDigest($username, $timestamp, $apiKey, $secret);
33+
}
34+
35+
function request($url, $username, $timestamp, $digest, $domain)
36+
{
37+
$requestString = buildRequest($username, $timestamp, $digest, $domain);
38+
return file_get_contents($url . $requestString);
39+
}
40+
3341
function printResponse($response)
3442
{
3543
$responseArray = json_decode($response, true);

apikey/python/whois.py

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,18 @@
1515
'twitter.com'
1616
]
1717
url = 'https://whoisxmlapi.com/whoisserver/WhoisService?'
18-
reuseDigest = True
19-
timestamp = int(round(time.time() * 1000))
18+
timestamp = nil
19+
digest = nil
2020

2121
def generateDigest(username, timestamp, apikey, secret):
2222
digest = username + str(timestamp) + apikey
2323
hash = hmac.new(secret, digest, hashlib.md5)
2424
return urllib.quote(str(hash.hexdigest()))
2525

26+
def generateParameters(username, apikey, secret):
27+
timestamp = int(round(time.time() * 1000))
28+
digest = generateDigest(username, timestamp, apikey, secret)
29+
return timestamp, digest
2630

2731
def buildRequest(username, timestamp, digest, domain):
2832
requestString = "requestObject="
@@ -37,7 +41,6 @@ def buildRequest(username, timestamp, digest, domain):
3741
requestString += "&outputFormat=json"
3842
return requestString
3943

40-
4144
def printResponse(response):
4245
responseJson = json.loads(response)
4346
if 'WhoisRecord' in responseJson:
@@ -51,18 +54,17 @@ def printResponse(response):
5154
print "Expires date: "
5255
print responseJson['WhoisRecord']['expiresDate']
5356

54-
digest = generateDigest(username, timestamp, apiKey, secret)
55-
56-
for domain in domains:
57-
if not reuseDigest:
58-
timestamp = int(round(time.time() * 1000))
59-
digest = generateDigest(username, timestamp, apiKey, secret)
57+
def request(url, username, timestamp, digest, domain):
6058
request = buildRequest(username, timestamp, digest, domain)
6159
response = urllib.urlopen(url + request).read().decode('utf8')
60+
return response
61+
62+
timestamp, digest = generateParameters(username, apiKey, secret)
63+
64+
for domain in domains:
65+
response = request(url, username, timestamp, digest, domain)
6266
if "Request timeout" in response:
63-
timestamp = int(round(time.time() * 1000))
64-
digest = generateDigest(username, timestamp, apiKey, secret)
65-
request = buildRequest(username, timestamp, digest, domain)
66-
response = urllib.urlopen(url + request).read().decode('utf8')
67+
timestamp, digest = generateParameters(username, apiKey, secret)
68+
response = request(url, username, timestamp, digest, domain)
6769
printResponse(response)
6870
print "---------------------------\n"

apikey/ruby/whois.rb

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@
1717
username = 'username'
1818
api_key = 'api_key'
1919
secret = 'secret_key'
20-
reuse_digest = true
21-
timestamp = (Time.now.to_f * 1000).to_i
2220

2321
def generate_digest(username, timestamp, api_key, secret)
2422
digest = username + timestamp.to_s + api_key
@@ -41,7 +39,7 @@ def build_request(username, timestamp, digest, domain)
4139
end
4240

4341
def print_response(response)
44-
response_string = JSON.parse(response)
42+
response_hash = JSON.parse(response)
4543
if response_hash.key? "WhoisRecord"
4644
if response_hash["WhoisRecord"].key? "contactEmail"
4745
puts "Contact Email: "
@@ -61,13 +59,10 @@ def print_response(response)
6159
end
6260
end
6361

62+
timestamp = (Time.now.to_f * 1000).to_i
6463
digest = generate_digest(username, timestamp, api_key, secret)
6564

6665
domains.each do |domain|
67-
if reuse_digest == false
68-
timestamp = (Time.now.to_f * 1000).to_i
69-
digest = generate_digest(username, timestamp, api_key, secret)
70-
end
7166
request_string = build_request(username, timestamp, digest, domain)
7267
response = open(url + request_string).read
7368
if response.include? "Request timeout"

0 commit comments

Comments
 (0)