hey leute,also die überschrift verrät euch ja schon so ziehmlich alles.ich möchte mich in ein forum einloggen(das funktioniert sogar schon) und dort in einem bestimmten unterforum ein neues thema erstellen.
Ich habe mir das ganze mit live httpheaders angeschaut und so alles rausgefiltert,was an feldern asugefüllt und gesendet werden muss.das habe ich dann in eine "MultipartEntity"
reinegpackt und versucht an die seite "http://beispiel.de/forum/unterforum/forum.posting/"
zu senden.Jedoch passiert da rein gar nichts.
Muss ich vll. irgendwas noch mit den cookies anstellen,sie mitsenden oder ähnliches?
oder habt ihr evtl ganz andere ideen,wie ich die idee realisieren kann?dann nur her damit
PS:Und nein, das ist von den Betreibern des Forums nicht vorboten,weil es ein Tool werden soll,dass einen gewissen Vorgang für alle erleichtern soll
Das forum ist überinges ein phpBB von Free forum hosting - FORUMOTION - Create a free forum!
Hier ist noch meine grobe anmelden kalsse + anschließendem versuch ein thema zu erstellen:
Ich habe mir das ganze mit live httpheaders angeschaut und so alles rausgefiltert,was an feldern asugefüllt und gesendet werden muss.das habe ich dann in eine "MultipartEntity"
reinegpackt und versucht an die seite "http://beispiel.de/forum/unterforum/forum.posting/"
zu senden.Jedoch passiert da rein gar nichts.
Muss ich vll. irgendwas noch mit den cookies anstellen,sie mitsenden oder ähnliches?
oder habt ihr evtl ganz andere ideen,wie ich die idee realisieren kann?dann nur her damit
PS:Und nein, das ist von den Betreibern des Forums nicht vorboten,weil es ein Tool werden soll,dass einen gewissen Vorgang für alle erleichtern soll
Das forum ist überinges ein phpBB von Free forum hosting - FORUMOTION - Create a free forum!
Hier ist noch meine grobe anmelden kalsse + anschließendem versuch ein thema zu erstellen:
Java:
public class ClientFormLogin {
//hier stehen noch die nötigen variablen,die ich rausgekürzt habe
public static void main(String[] args) throws Exception {
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(
"http://edhlr.forums-free.ca/login.forum?connexion/");
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
System.out.println("Login form get: " + response.getStatusLine());
if (entity != null) {
entity.consumeContent();
}
System.out.println("Initial set of cookies:");
List<Cookie> cookies = httpclient.getCookieStore().getCookies();
if (cookies.isEmpty()) {
System.out.println("None");
} else {
for (int i = 0; i < cookies.size(); i++) {
System.out.println("- " + cookies.get(i).toString());
}
}
HttpPost httpost = new HttpPost(
"http://edhlr.forums-free.ca/login.forum?connexion/");
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("username", "muster"));
nvps.add(new BasicNameValuePair("password", "123456"));
nvps.add(new BasicNameValuePair("redirect", ""));
nvps.add(new BasicNameValuePair("query", ""));
nvps.add(new BasicNameValuePair("login", "Log+in"));
httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
response = httpclient.execute(httpost);
entity = response.getEntity();
System.out.println("Login form get: " + response.getStatusLine());
if (entity != null) {
entity.consumeContent();
}
//Die logon cookies werden hier korrekt ausgegeben
System.out.println("Post logon cookies:");
cookies = httpclient.getCookieStore().getCookies();
if (cookies.isEmpty()) {
System.out.println("None");
} else {
for (int i = 0; i < cookies.size(); i++) {
System.out.println("- " + cookies.get(i).toString());
}
}
//Hier werden die daten für den thread festgelegt
// "nul" steht für die zahl "0",die vorher mit von int zu einem String in die variable eingelesen wird.
final MultipartEntity mpe = new MultipartEntity(
HttpMultipartMode.BROWSER_COMPATIBLE);
mpe.addPart("subject", new StringBody("threadName"));
mpe.addPart("topic_color", new StringBody(""));
mpe.addPart("message", new StringBody("banRequest"));
mpe.addPart("lt", new StringBody(nul));
mpe.addPart("mode", new StringBody("newtopic"));
mpe.addPart("f", new StringBody(hlrID));
mpe.addPart("post", new StringBody("Send"));
mpe.addPart("notify", new StringBody("on"));
mpe.addPart("poll_title", new StringBody(""));
mpe.addPart("poll_option_text", new StringBody("on"));
mpe.addPart("poll_length", new StringBody(""));
mpe.addPart("poll_miltiple", new StringBody(nul));
mpe.addPart("poll_cancel_vote", new StringBody(nul));
//Diese beiden Felder sind am ende vom POST in livehttpheaders,
//jedoch weiß ich noch nicht so recht,was hier rein soll.
//Es ist eine buchstaben und zahlen folge,die sich immer unterscheidet!
//Die SID ist es auch nicht.
mpe.addPart("auth[]",
new StringBody(""));
mpe.addPart("auth[]",
new StringBody(""));
//Die URL zu der "new Topic" seite
final HttpPost httpPost = new HttpPost(
"http://edhlr.forums-free.ca/post.forum?mode=newtopic&f=11/");
httpPost.setEntity(mpe);
response = new DefaultHttpClient().execute(httpPost);
}
}