Wie POST-ÜbergabeString (Content) auslesen?

eaglestar

Mitglied
Hi und Hallo,

ist es möglich den Content-String auszulesen der beim Absenden eines Formulars per POST entsteht?
Ich kann nur die Content-Length auslesen, aber wie bekomme ich den eingentlichen Content?

Also so in etwa:

Seite1: Formular speichern wird gedrückt
*** Gesendeter Content wird ausgelesen ***
Seite2: Folgeseite wird angezeigt

P.S.
Ich möchte NICHT den HTML-Code der jeweiligen Seiten auslesen.


Gruß
eagle
 
Code:
request.getQueryString()

Funktioniert ja nur bei jsp-Seiten!?

Ich habe ein Konsolenprogramm, dass ein Formular auf einer Internetseiteb befüllt und automatisch absendet.
Nur was genau gesendet wird sehe ich nicht.
Also welcher String an den Server übergeben wird.
 
Genau das verusche ich ja.
Aber ich bekomme nur die HTML-Seite angezeigt/ausgelesen:

Hier mal mein Code:
Java:
			URL proxyURL = new URL("internetadresse");
			HttpURLConnection Con = (HttpURLConnection) proxyURL.openConnection ();
			proxyURLCon.setRequestMethod("POST");
			proxyURLCon.setDoOutput(true);
			proxyURLCon.setUseCaches(false);
			proxyURLCon.setRequestProperty("Cookie", cookie);
OutputStreamWriter out = new OutputStreamWriter(Con.getOutputStream());
            out.flush(); //Sendet formulardaten
            out.close();
			BufferedReader in = new BufferedReader(new InputStreamReader(proxyURLCon.getInputStream()));       		
            String line;
            String htmlInhalt ="";
            while ((line = in.readLine()) != null) {
            	htmlInhalt += line;  //schreibt gesendete FormularString
            }
            System.out.println(htmlInhalt);
 
Aso... ich dachte du wärst Serverseitig... was du da liest ist der Response, nicht der Request. Ich kann dir nur raten dass nich t auf Händen un Knien zu versuchen, sondern dir HttpClient von Apache Commons anzuschauen, damit geht das mit sicher einfacher.

REINHAUN!
 
Ach viel schlimmer...mein Programm ist schon fast fertig und ich habe nirgends HTTPClient verwendet.
Daher macht es wenig Sinn es jetzt einzubauen.
Die Software für das Webinterface vom Server bekommt Ende des Jahres ein Update spendiert und dann kann ich all diese Veränderungen über JAXB machen.

Werde dann wohl doch die Blutige-Knie-Variante wählen -.-
 
So die Knie sind offen ^^

NICHT NACHMACHEN

Java:
BufferedReader in = new BufferedReader(new InputStreamReader(erstellteURLConnection.getInputStream()));       		
            String line;
            String htmlInhalt ="";
            while ((line = in.readLine()) != null) {
            	htmlInhalt += line;
            }
            //System.out.println(htmlInhalt);
            //rules,hosts und ports
            String rule = "";
            String inputRule = "input name=\"rule";
            String host = "";
            String inputHost = "input name=\"host";
            String port = "";
            String inputPort = "input name=\"port";
            String value = "value=\"";
            String proxys = "";
            int i = 0;
            int valueStart = 0;
            int valueEnde = 0;
            int posImString = 0;
            int htmlInhaltLange = htmlInhalt.length();
            
            //while(posImString <= htmlInhaltLange){
            while(posImString != -1){
            	//inputFeld rule finden
            	valueStart = valueStart + htmlInhalt.substring(valueStart).indexOf(inputRule);
            	//value aus dem inputFeld rule finden
            	valueStart += htmlInhalt.substring(valueStart).indexOf(value);
            	//zum Wert von value springen
            	valueStart = valueStart+value.length();
            	//Ende des Werts bestimmen
            	valueEnde = valueStart + htmlInhalt.substring(valueStart, htmlInhaltLange).indexOf("\"");
            	
            	System.out.println("rule"+ i +": " + htmlInhalt.substring(valueStart, valueEnde));
            	
            	//inputFeld host finden
            	valueStart = valueStart + htmlInhalt.substring(valueStart).indexOf(inputHost);
            	//value aus dem inputFeld host finden
            	valueStart += htmlInhalt.substring(valueStart).indexOf(value);
            	//zum Wert von value springen
            	valueStart = valueStart+value.length();
            	//Ende des Werts bestimmen
            	valueEnde = valueStart + htmlInhalt.substring(valueStart, htmlInhaltLange).indexOf("\"");
            	
            	System.out.println("host"+ i +": " + htmlInhalt.substring(valueStart, valueEnde));
            	
            	//inputFeld port finden
            	valueStart = valueStart + htmlInhalt.substring(valueStart).indexOf(inputPort);
            	//value aus dem inputFeld host finden
            	valueStart += htmlInhalt.substring(valueStart).indexOf(value);
            	//zum Wert von value springen
            	valueStart = valueStart+value.length();
            	//Ende des Werts bestimmen
            	valueEnde = valueStart + htmlInhalt.substring(valueStart, htmlInhaltLange).indexOf("\"");
            	
            	System.out.println("port"+ i +": " + htmlInhalt.substring(valueStart, valueEnde));
            	
            	
            	//proxys +="&rule"+i+"="+rule+"&host"+i+"="+host+"&port"+i+"="+host;
            	i++;
            	posImString = htmlInhalt.substring(valueStart).indexOf(inputRule);
            }
            System.out.println("ENDE der WhileSchleife");

Nun muss ich mir nurnoch den String zusammen basteln und in UTF8 umwandeln...das ist aber kein Problem. ^^


Gruß
eagle
 

Neue Beiträge

Zurück