def is_valid_server_info(hostname, port, prefix): """ Check if we can communicate with a subscription service at the given location. Returns true or false. May throw a MissingCaCertException if the CA certificate has not been imported yet, which may be relevant to the caller. """ # Proxy info should already be in config file and used by default: try: conn = UEPConnection(host=hostname, ssl_port=int(port), handler=prefix) conn.ping() return True except RestlibException, e: # If we're getting Unauthorized that's a good indication this is a # valid subscription service: if e.code == 401: return True else: log.exception(e) return False