code: def getWhoisInfo(domain):
      
      new = []
  
      # Grabbing the aliases
      try:
          emails = {}
          emails["type"] = "i3visio.alias"
          emails["value"] = str(domain.split(".")[0])
          emails["attributes"] = []
          new.append(emails)
      except:
          pass
  
      info = whois.whois(domain)
  
      if info.status == None:
          raise Exception("UnknownDomainError: " + domain + " could not be resolved.")
  
      # Grabbing the emails
      try:
          emails = {}
          emails["type"] = "i3visio.email"
          if type(info.emails) is not list:
              aux = [info.emails]
              emails["value"] = json.dumps(aux)
          else:
              emails["value"] = json.dumps(info.emails)
          emails["attributes"] = []
          new.append(emails)
      except:
          pass
  
      # Grabbing the country
      try:
          tmp = {}
          tmp["type"] = "i3visio.location.country"
          tmp["value"] = str(info.country)
          tmp["attributes"] = []
          new.append(tmp)
      except:
          pass
  
      # Grabbing the regitrar
      try:
          tmp = {}
          tmp["type"] = "i3visio.registrar"
          tmp["value"] = str(info.registrar)
          tmp["attributes"] = []
          new.append(tmp)
      except:
          pass
  
      # Grabbing the regitrar
      try:
          tmp = {}
          tmp["type"] = "i3visio.fullname"
          try:
              tmp["value"] = str(info.name)
          except:
              tmp["value"] = info.name
          tmp["attributes"] = []
          new.append(tmp)
      except:
          pass
  
      return new
docs: Method that trie to recover the whois info from a domain.
  
      Args:
      -----
          domain: The domain to verify.
  
      Returns:
      --------
          dict: A dictionary containing the result as an i3visio entity with its
              `value`, `type` and `attributes`.