B
BoulderDash
Gast
Hallo Zusammen,
ich möchte gerne eine größere Menge Daten von einem Applet per POST an ein PHP-Script senden.
Der von mir verwendete Code funktioniert bis zu einer bestimmten Datenmenge ohne Probleme. Handelt es sich jedoch mal um zu viel Daten (irgendwo ab 350kb) erhalte ich vom Server den Fehler "400".
Ich habe dann mal versucht mich in die HTTP-Materie einzulesen, aber das Chaos ist einfach zu groß.
Ich könnte mir vorstellen, dass es daran liegt, dass meine Daten nicht in Chunks gesendet werden, etwas mit Content-Length nicht stimmt oder dass ich einen TimeOut erhalte ...
Weitere Infos:
HTTP/1.0 (keine Ahnung, warum Java bei mir nicht HTTP/1.1 verwendet)
JDK 1.1.8 (MRJ 2.2.5)
Vielen Dank im Voraus für Eure Hilfe!
ich möchte gerne eine größere Menge Daten von einem Applet per POST an ein PHP-Script senden.
Der von mir verwendete Code funktioniert bis zu einer bestimmten Datenmenge ohne Probleme. Handelt es sich jedoch mal um zu viel Daten (irgendwo ab 350kb) erhalte ich vom Server den Fehler "400".
Ich habe dann mal versucht mich in die HTTP-Materie einzulesen, aber das Chaos ist einfach zu groß.
Ich könnte mir vorstellen, dass es daran liegt, dass meine Daten nicht in Chunks gesendet werden, etwas mit Content-Length nicht stimmt oder dass ich einen TimeOut erhalte ...
Weitere Infos:
HTTP/1.0 (keine Ahnung, warum Java bei mir nicht HTTP/1.1 verwendet)
JDK 1.1.8 (MRJ 2.2.5)
Vielen Dank im Voraus für Eure Hilfe!
Code:
public String postData(String myData, String myURL) {
InputStreamReader inStream = null;
OutputStreamWriter outStream = null;
BufferedReader buff = null;
try {
String agent = "DATAform 1.0 beta";
String type = "multipart/form-data; boundary=AaB03x";
URL url = new URL(myURL);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
conn.setRequestProperty("User-Agent", agent);
conn.setRequestProperty("Content-Type", type);
outStream = new OutputStreamWriter(conn.getOutputStream());
outStream.write("--AaB03x\r\nContent-Disposition: form-data; name=\"dfFile\"; filename=\"dfText.txt\"\r\nContent-Type: application/octet-stream\r\nContent-Transfer-Encoding: binary\r\nContent-Length: " + myData.length() + "\r\n\r\n" + myData + "\r\n--AaB03x--");
outStream.close();
int HTTPCode = conn.getResponseCode();
}
catch( IOException e ){
// handle the error here
}
}