Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
da bin ich wieder mit meinem Applet. Mein Problem ist, dass ich unter Linux, mit meinem Applet, beim senden eines POST requests, einen http 400 ErrorCode bekomme. Unter Windows dagegen funktioniert alles einwandfrei.
Muss man unter Linux beim Senden auf irgendetwas acht geben?
Leider nicht. Im Grunde bedeutet es ja, dass ich meine Anfrage an den Server falsch stelle. Aber das kann ja nicht stimmen, zumindest aus der sicht, dass es von einem Windows-Client funktioniert.
Ich hab mir auch schon über Firebug die entsprechende Post-Method von Linux-Client angeschaut und die ist gleich der meinen.
Das könnte es sein. Ich benutze die writeBytes-Methode für die request, ich bin mir da nicht sicher, aber ich glaube sie schreibt in ASCII. Wie kann ich denn in alternative die Methode writeUTF8 nutzen? Geht das einfach so?
Ok ich werd an dieser Stelle auf jedenfall mal ansetzen und Testen.
Aber wie sieht es denn an er Stelle aus an der die Datei in die Request mit reingeschrieben wird?
Java:
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
int n = 0;
try {
while (-1 != (n = fileInputStream.read(buffer))) {
try {
dos.write(buffer, 0, n);
setValue(current++);
} catch (IOException e) {
e.printStackTrace();
}
}
} catch (IOException e) {
e.printStackTrace();
}
Muss die auch in einen andern Charset gewandelt werden?
Was ist das denn für eine Datei? Stehen da lesbare Zeichen drin?
Um mal zu raten: Da wird vermutlich keine Zeichenumsetzung nötig sein. Ist aber wie gesagt nur geraten.
Es lag wohl nicht an der Codierung der zeichen, sondern an meinem LineSeperator?!
Wenn ich wie unter linux \n\r nutze anstelle System.getProperty("line.seperator") funktioniert es.
Aber wie kann das sein? Ich dachte immer System.getPr...
holt sich den Seperator des OS!?
Hmmm ja sie sind unterschiedlich. Also kann ich die Methode System.getProp... so nicht nutzen?
Wie kann ich es sonst am besten anstellen um das am besten mit einer Funktion zu erschlagen?
Dein Denkfehler hat homer65 ja schon erklärt: Du verwechselst den Server mit dem Client
Wichtig ist nicht das OS des Client, sondern nur das des Servers, soll heissen: Dein Server ist 'ne Windows Kiste und braucht immer \n\r, ausser der Server läuft irgendwann mal später auf Linux.
Wenn du fertige Frameworks genutzt hättest wie zB. Apache HttpClient, hättest du das Problem doch gar nciht.