package de.spline.kvm.utils; import java.util.HashMap; import java.util.Map; import com.gistlabs.mechanize.MechanizeAgent; import com.gistlabs.mechanize.Resource; import com.gistlabs.mechanize.document.Document; import com.gistlabs.mechanize.document.node.Node; import com.gistlabs.mechanize.parameters.Parameters; public class Kvm { protected String host; protected MechanizeAgent agent; public Kvm(String host) { this.host = host; this.agent = new MechanizeAgent(); } public void login(String username, String password) { Parameters param = new Parameters(); param.add("login", username); param.add("password", password); param.add("action_login", "Login"); Resource resource = agent.post(host + "/auth.asp", param); if (resource.asString().contains("Authentication failed.")) { System.err.println("Invalid login!"); System.exit(1); } } public Map getAppletParameters() { Document doc = agent.get(host + "/title_app.asp"); if (!doc.asString().contains(" params = new HashMap<>(); for (Node node : doc.getRoot().findAll("html body applet param")) { String name = node.getAttribute("name"); String value = node.getAttribute("value"); params.put(name.toUpperCase(), value); } return params; } public void logout() { agent.get(host + "/logout"); } }