Hallo Zusammen,
Zur Zeit baue ich an einem OGame Automatisierungs Programm.
Meine erste Hürde war es den Login Prozess nach zu vollziehen.
Habe eine Java Klasse namens "Cookie" gebaut. Soweit tut Sie was ich wollte, die Login Cookies in eine Map<String, String> schreiben.
Klassenvariable ist Map<String, String> Cookies
Konstruktor ist Cookie(String uni, String login, String pass)
Die Funktion getSession(...) liefert dann das Cookie.
Ich tue mir noch was schwer mit der Objekt Orientierung, wie Ihr wahrscheinlich seht. Wenn jemand einen Tipp hat bzw. sagen kann was ich falsch mache wäre ich super dankbar!!! Es ist sowieso ein Wunder das diese Klasse funktioniert.
Zur Zeit baue ich an einem OGame Automatisierungs Programm.
Meine erste Hürde war es den Login Prozess nach zu vollziehen.
Habe eine Java Klasse namens "Cookie" gebaut. Soweit tut Sie was ich wollte, die Login Cookies in eine Map<String, String> schreiben.
Klassenvariable ist Map<String, String> Cookies
Konstruktor ist Cookie(String uni, String login, String pass)
Die Funktion getSession(...) liefert dann das Cookie.
Ich tue mir noch was schwer mit der Objekt Orientierung, wie Ihr wahrscheinlich seht. Wenn jemand einen Tipp hat bzw. sagen kann was ich falsch mache wäre ich super dankbar!!! Es ist sowieso ein Wunder das diese Klasse funktioniert.
Code:
package Login;
import java.util.Map;
public class start {
public static void main(String[] args) throws Exception {
OGameLogin OGameLogin = new OGameLogin("s131-de.ogame.gameforge.com","Schlafsong", "computer#2");
for (Map.Entry<String, String> entry : OGameLogin.getCookies().entrySet())
{
System.out.println(entry.getKey() + "=" + entry.getValue());
}
}
}
Code:
package Login;
import java.io.IOException;
import java.util.Map;
/*
* http://jsoup.org/
* */
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.Connection.Method;
public class OGameLogin {
static Map<String, String> Cookies = null;
public OGameLogin(String uni, String login, String pass)
{
Cookies = getSession(uni, login, pass);
}
static Map<String,String> getCookies()
{
return Cookies;
}
private static Map<String, String> getSession(String uni, String login, String pass)
{
Connection.Response res = null;
Map<String, String> Cookies = null;
try
{
// First Visit to get SID
Connection.Response loginForm = Jsoup.connect("http://www.ogame.de")
.method(Connection.Method.GET)
.execute();
Cookies = loginForm.cookies();
try {
res = Jsoup.connect("http://de.ogame.gameforge.com/main/login")
.cookies(Cookies)
.userAgent("Mozilla/5.0")
.data("uni", uni)
.data("login", login)
.data("pass", pass)
.data("kid","")
.method(Method.POST)
.execute();
} catch (IOException e) {
e.printStackTrace();
}
if (res != null) {
Cookies = res.cookies();
}
} catch (IOException e) {
e.printStackTrace();
}
return Cookies;
}
}