1515 'twitter.com'
1616]
1717url = 'https://whoisxmlapi.com/whoisserver/WhoisService?'
18- reuseDigest = True
19- timestamp = int ( round ( time . time () * 1000 ))
18+ timestamp = nil
19+ digest = nil
2020
2121def 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
2731def 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-
4144def 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 "
0 commit comments