code: def url_split (url):
      
      scheme, netloc = urllib.splittype(url)
      host, document = urllib.splithost(netloc)
      port = default_ports.get(scheme, 0)
      if host:
          host = host.lower()
          host, port = splitport(host, port=port)
      return scheme, host, port, document
docs: Split url in a tuple (scheme, hostname, port, document) where
      hostname is always lowercased.
      Precondition: url is syntactically correct URI (eg has no whitespace)