Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.23 KB | None | 0 0
  1. import socket
  2. import re
  3.  
  4.  
  5. class Whois:
  6.     def perform_whois(self, server, query, port=43):
  7.         sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  8.         sock.connect((server, port))
  9.         sock.send((query + '\r\n').encode())
  10.  
  11.         resp = b''
  12.         while True:
  13.             try:
  14.                 data = sock.recv(1024)
  15.             except socket.error:
  16.                 pass
  17.             resp += data
  18.             if not data:
  19.                 break
  20.         sock.close()
  21.         return resp.decode()
  22.  
  23.     def resp_iana_parser(self, raw):
  24.         regex = re.compile('(whois.+)')
  25.         try:
  26.             mch = regex.search(raw)
  27.             if mch:
  28.                 return mch.group(1)
  29.         except re.error:
  30.             pass
  31.  
  32.     def resp_whois_parser(self, raw, findlist):
  33.         resp = {}
  34.         for subject in findlist:
  35.             resp[subject] = ''
  36.             if raw:
  37.                 regex = re.compile('{}.*:\s*?(.+)\n'.format(subject), re.IGNORECASE)
  38.                 mtch = regex.search(raw)
  39.                 if mtch:
  40.                     resp[subject] = mtch.group(1).lstrip()
  41.         if raw:
  42.             resp['local'] = False
  43.         else:
  44.             resp['local'] = True
  45.         return resp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement