HttpClient Post, Get Cookie

Status
Nicht offen für weitere Antworten.

dayaftereh

Top Contributor
Hallo

Ich bin gerade an HttpClient von Apache und möchte mich bei dem BrowserGame knightfight.de einloggen. Dazu habe ich mal mit dem „Live Header“ von FireFox geschaut wie der Request verschickt wird. Es wird eine POSR Request mit 4 Variablen an die index.php verschickt. Das habe ich dann nachgebaut. Aber jetzt kommt mein Problem, der Login Funktioniert, das merke ich daran wenn ich mir den ResponsBody ausgeben lasse, weil der ist genau gleich wie wenn ich mit FireFox den Quellcode holle, doch jetzt will ich auf eine Link Klicken der so aussieht: KnightFight - Server 5. Ich habe geschaut der Link wird mit GET Request zum Server geschickt, doch wenn ich die GetMethode von HttpClient nehme, dann lade ich wieder bei dem Login. Also glaube ich, dass der Cookie nicht richtig mit geschickt wird oder ich irgendwas anderes falsch mache.

Hier mein Code:
Java:
package de.lana.runner;

import java.io.IOException;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.log4j.Logger;

public class Runner {

	private static Logger log = Logger.getLogger(Runner.class);

	public static void main(String[] args) throws IOException {
		HttpClient client = new HttpClient();

		PostMethod post = new PostMethod("http://spielwelt5.knightfight.de/index.php");
		post.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);

		NameValuePair[] data = { 
				new NameValuePair("user", "****"), 
				new NameValuePair("password", "****"),
				new NameValuePair("ac", "status"), 
				new NameValuePair("server", "http://spielwelt5.knightfight.de/?ac=loginpage") };

		post.setRequestBody(data);

		client.executeMethod(post);
		
		//System.out.println(post.getResponseBodyAsString());

		post.releaseConnection();

		try {
			Thread.sleep(1000);
		} catch (InterruptedException e) {

			e.printStackTrace();
		}

		log.debug("-----------------------------------------------------------");

		GetMethod get = new GetMethod("http://spielwelt5.knightfight.de/");
		get.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);

		NameValuePair[] data1 = { 
				new NameValuePair("ac", "raubzug") 
				};
		
		get.setQueryString(data1);
		
		client.executeMethod(get);
		
		//System.out.println(get.getResponseBodyAsString());

		get.releaseConnection();

	}
}

Danke Schonmal
 

Einwegdose

Aktives Mitglied
Cookies werden von dem HttpClient automatisch behandelt, darum musst du dich eigentlich garnicht kümmern. Hast du es in Zeile 45 einfach mal so versucht ? (48-50 natürlich dann weglassen)

Java:
GetMethod get = new GetMethod("http://spielwelt5.knightfight.de/index.php?ac=raubzug");
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J httpclient: Post-method aber trotzdem "URI to long&quot Allgemeine Java-Themen 4
TheSkyRider Whitespace im Java9 HTTPClient Allgemeine Java-Themen 8
S HTTP Apache HTTPClient Problem Allgemeine Java-Themen 4
E Eclipse Axis, Jena, HTTPClient - log4j Meldungen deaktivieren? Allgemeine Java-Themen 6
G Mit Java und HTTPClient auf Webseite einloggen Allgemeine Java-Themen 4
J Methode mit HttpClient aufrufen Allgemeine Java-Themen 5
M asynchroner HttpClient() in Thread Allgemeine Java-Themen 2
J jakarta httpclient: funktioniert nicht mit proxy Allgemeine Java-Themen 2
I executeMethod() von HttpClient Allgemeine Java-Themen 2
G Json POST-REQUEST Allgemeine Java-Themen 14
M Maven Deutsche Post API implementieren Allgemeine Java-Themen 2
P REST- Services GET/PUT/POST/DELETE Allgemeine Java-Themen 6
J Post: #1could not create the java virtual machine etc Allgemeine Java-Themen 6
J Übergabe von post request Parametern Allgemeine Java-Themen 9
S http POST überwachen Allgemeine Java-Themen 2
S OutputStream via POST senden Allgemeine Java-Themen 4
P POST Problem Allgemeine Java-Themen 5
A POST Allgemeine Java-Themen 6
thE_29 CGI Seite + Post Methoden Allgemeine Java-Themen 2
P URL mit POST variablen aufrufen Allgemeine Java-Themen 5
P Post-Parameter übergeben Allgemeine Java-Themen 3
N Servlets: Formulardaten auslesen (POST) - mehr Informationen Allgemeine Java-Themen 4
A Formular POST übergabe an Servlet Allgemeine Java-Themen 4
B Cookie auslesen Allgemeine Java-Themen 3
C Webseite laden aber mit Cookie Allgemeine Java-Themen 2

Ähnliche Java Themen


Oben