Java urlconnection setrequestproperty content-length funktioniert nicht

SourceCoder

Lt. Commander
Registriert
Apr. 2012
Beiträge
1.536
Schönen guten Tag zusammen,

ich habe hier ein Problem und zwar funktioniert bei mir der Befehl für die "Content-Length" nicht.
So setzte ich die Einstellungen.

Code:
Verbindung.setRequestProperty("Content-Type", "multipart/mixed; boundary=" + boundary);
Verbindung.setRequestProperty("Accept", "text/html");
Verbindung.setRequestProperty("Content-Length", "" + Integer.toString(content.length()));

Und wenn ich die gesetzten Einstellungen ausgeben lassen, ist "Content-Length" nicht vorhanden.

Code:
		Map<String, List<String>> ttst = con.getRequestProperties();
		for (Map.Entry<String, List<String>> entry : ttst.entrySet()) {
			System.out.println("Key : " + entry.getKey() + 
	                 " ,Value : " + entry.getValue());
		}

Ergebnis:

Code:
Key : Content-Type ,Value : [multipart/mixed; boundary=BOUNDARY]
Key : Accept ,Value : [text/html]


Hinweise:

"Content-Lenght" wird wirklich nicht gesetzt, den ich hab auch schon den Header ausgegeben lassen, dort steht der "Content-Lenght" aber nicht mit der Größe die ich angegeben habe.
Ich habe auch schon es so versucht ohne Erfolg.

Code:
Verbindung.setRequestProperty("Content-Length", "2200");
 
"Content-Length" musst du eigentlich überhaupt nicht manuell setzen, weil es automatisch aus den tatsächlich zu senden Daten errechnet und gesetzt wird.
Oder gibt es einen bestimmten Grund warum du die Content-Length setzt?
 
Aso, weil wenn ich mir "Content-Length" ausgeben lasse steht da 579 aber der müsste knapp über 2000 liegen, wegen der boundary.
Kann man irgendwie eine Protokoll-Funktion aktivieren damit mal der ganze Vorgang im nachhinein ersichtlich ist?
Was gesendet wurde und wo usw.
 
SourceCoder schrieb:
Aso, weil wenn ich mir "Content-Length" ausgeben lasse steht da 579 aber der müsste knapp über 2000 liegen, wegen der boundary.
Soweit ich weiß musst du die Boundary auch selbst in den OutputStream schreiben. Wie lang sind denn der Content und die Boundary jeweils?
Ansonsten hier mal reinschauen: Multipart form upload on Android

SourceCoder schrieb:
Kann man irgendwie eine Protokoll-Funktion aktivieren damit mal der ganze Vorgang im nachhinein ersichtlich ist?
Integriert? Keine Ahnung. Aber mit Fiddler kann man wunderbar HTTP-Request mitschneiden und auseinander nehmen.
 
Zuletzt bearbeitet: (Link hinzgefügt)
Zurück
Oben