/** * Anmeldung * * @return Erfolg der Anmeldung * @throws ClientProtocolException * @throws IOException * @throws NoSuchAlgorithmException */ public boolean auth() throws ClientProtocolException, IOException, NoSuchAlgorithmException { if (einstellungen.isProxyBenutzen()) { setProxy(einstellungen.getServer(), einstellungen.getPort()); } String source = get("/30.html"); String challenge = RegexParser.find(source, "<input type=\"hidden\" name=\"challenge\" value=\"(.{32})\">") .get(0)[0]; String passphrase = MD5.hash( einstellungen.getEmail() + ":" + MD5.hash(einstellungen.getPasswort()) + ":" + challenge); List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("user", einstellungen.getEmail())); params.add(new BasicNameValuePair("pass", passphrase)); params.add(new BasicNameValuePair("submit", "Anmelden")); params.add(new BasicNameValuePair("logintype", "login")); params.add(new BasicNameValuePair("pid", "3")); params.add(new BasicNameValuePair("redirect_url", "")); params.add(new BasicNameValuePair("challenge", challenge)); source = post("/community-login.html", params); return !source.contains("Anmeldefehler"); }
/** * Notenseite auslesen * * @return Notenseite * @throws ClientProtocolException * @throws IOException * @throws NoSuchAlgorithmException */ public String getNotenSeite() throws ClientProtocolException, IOException, NoSuchAlgorithmException { if (cache_notenseite == null) { do { if (!isAuthed()) { auth(); } String notenAnmeldung = get("/notenabfrage_bc.html"); String id = RegexParser.find(notenAnmeldung, "<input type=\"hidden\" name=\"id\" value=\"(.*?)\">") .get(0)[0]; List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("id", id)); params.add(new BasicNameValuePair("Passwort", einstellungen.getPasswort())); cache_notenseite = post("", params); } while (!cache_notenseite.contains("Logout")); } return cache_notenseite; }