Applet request unter Linux

Sued_Faust

Bekanntes Mitglied
Moin,

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?

Gruß
 

homer65

Top Contributor
Merkwürdig. Hier jedenfalls mal was der Code 400 bedeutet:

10.4.1 400 Bad Request

The request could not be understood by the server due to malformed syntax. The client SHOULD NOT repeat the request without modifications.

Hilft aber wahrscheinlich nicht wirklich.
 

Sued_Faust

Bekanntes Mitglied
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.
 

Sued_Faust

Bekanntes Mitglied
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?
 

Sued_Faust

Bekanntes Mitglied
Moin,

tut mir leid für die verspätete Antwort :), hatte noch ein dringendes Projekt zu bearbeiten.

hier mal ein wenig Quellcode meines rquests:

Java:
public void run(Connection conn, JSParameter jSPara, String boundary,
			JProgressBar pb, int fileIndex) throws IOException,
			PrivilegedActionException {
		this.JSPara = jSPara;
		this.boundary = boundary;
		this.pb = pb;
		this.fileIndex = fileIndex;

		// Zum schreiben der Daten.
		os = conn.getConnection().getOutputStream();
		dos = new DataOutputStream(os);

		writeLine(lineSep + lineSep);
		writeLine(twoStrings + boundary);
		writeLine(lineSep);
		writeLine("Content-Disposition: form-data; name=\"siteId\"" + lineSep
				+ lineSep);
		writeLine(JSPara.getSiteID() + lineSep);
		writeLine(twoStrings + boundary + lineSep);
		writeLine("Content-Disposition: form-data; name=\"containerId\""
				+ lineSep + lineSep);
		writeLine(JSPara.getContainerID() + lineSep);
		writeLine(twoStrings + boundary + lineSep);
		writeLine("Content-Disposition: form-data; name=\"destination\""
				+ lineSep + lineSep);
		writeLine("" + lineSep);
		writeLine(twoStrings + boundary + lineSep);
		writeLine("Content-Disposition: form-data; name=\"username\"" + lineSep
				+ lineSep);
		writeLine("" + lineSep);
		writeLine(twoStrings + boundary + lineSep);
		writeLine("Content-Disposition: form-data; name=\"updateNodeRef\""
				+ lineSep + lineSep);
		writeLine(JSPara.getUpdatenoderef() + lineSep);
		writeLine(twoStrings + boundary + lineSep);
		writeLine("Content-Disposition: form-data; name=\"uploadDirectory\""
				+ lineSep + lineSep);
		writeLine(JSPara.getUploadDirectory() + lineSep);
		writeLine(twoStrings + boundary + lineSep);
		writeLine("Content-Disposition: form-data; name=\"overwrite\""
				+ lineSep + lineSep);
		writeLine(JSPara.getOverwrite() + lineSep);
		writeLine(twoStrings + boundary + lineSep);
		writeLine("Content-Disposition: form-data; name=\"thumbnails\""
				+ lineSep + lineSep);
		writeLine(JSPara.getThumbnails() + lineSep);
		writeLine(twoStrings + boundary + lineSep);
		writeLine("Content-Disposition: form-data; name=\"contentType\""
				+ lineSep + lineSep);
		writeLine("cm:content" + lineSep);
		writeLine(twoStrings + boundary + lineSep);
		writeLine("Content-Disposition: form-data; name=\"filedata\"; filename="
				+ "\""
				+ JSPara.getFiledata()[fileIndex].getName()
				+ "\""
				+ lineSep);
		writeLine("Content-Type: " + JSPara.getContenttype() + lineSep
				+ lineSep);

		// Schreibt den Dateieninhalt in die Request
		writeFileContent();

		writeLine(lineSep);
		writeLine(twoStrings + boundary + lineSep);
		writeLine("Content-Disposition: form-data; name=\"majorVersion\""
				+ lineSep + lineSep);
		writeLine(JSPara.getMajorversion() + lineSep);
		writeLine(twoStrings + boundary + lineSep);
		writeLine("Content-Disposition: form-data; name=\"description\""
				+ lineSep + lineSep);
		writeLine(JSPara.getDescription() + lineSep);
		writeLine(twoStrings + boundary + twoStrings);

		// Stream beenden.
		fileInputStream.close();
		dos.flush();
		dos.close();

	}

	@SuppressWarnings("unchecked")
	public void writeFileContent() throws IOException,
			PrivilegedActionException {
		// Stream zu Auslesen der Daten.
		fileInputStream = (FileInputStream) AccessController
				.doPrivileged(new PrivilegedExceptionAction() {
					public Object run() throws FileNotFoundException {
						return new FileInputStream(
								JSPara.getFiledata()[fileIndex]);
					}
				});

		// Startet den Stream zum lesen der Datei.
		AccessController.doPrivileged(new PrivilegedExceptionAction() {
			public Object run() throws FileNotFoundException {
				try {
					streamCopy();
				} catch (IOException e) {
					e.printStackTrace();
				}
				return null;
			}
		});
	}

	public void streamCopy() throws IOException {

		int begin = 0;
		int current = begin;
		int end = 0;

		if((int) JSPara.getFiledata()[fileIndex].length() > DEFAULT_BUFFER_SIZE){
			end = (int) JSPara.getFiledata()[fileIndex].length()
				/ DEFAULT_BUFFER_SIZE;
		}else{
			end = 1;
			setValue(current++);
		}

		setMinMax(begin, end);

		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();
		}
	}

	private void setMinMax(final int min, final int max) {
		try {
			SwingUtilities.invokeAndWait(new Runnable() {
				public void run() {
					pb.setMinimum(min);
					pb.setValue(min);
					pb.setMaximum(max);
				}
			});
		} catch (Exception e) {
		}
	}

	private void setValue(final int value) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				try {
					pb.setValue(value);
				} catch (NullPointerException ex) {
					// silent exception
				}
			}
		});
	}

	private void writeLine(String text) throws IOException {
		System.out.print(text);
		dos.writeBytes(text);
	}
}

ich hab nun auch schon versucht den dataoutputstream mittels der writeUTF-Funktion zu schreiben, aber es erscheint der selbe fehlercode 400.

Gruß
 

homer65

Top Contributor
Statt:
Code:
 dos.writeBytes(text);
könnte ich mir folgendes vorstellen:
Code:
 byte[] b = text.getBytes("iso-8859-1");
 dos.write(b,0,b.length);
Wobei iso-8859-1 durch den richtigen Charset Namen zu ersetzen ist.
Was hier allerdings der richtige ist, weiss ich auch nicht.
 

Sued_Faust

Bekanntes Mitglied
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?
 

homer65

Top Contributor
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.
 

Sued_Faust

Bekanntes Mitglied
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!?
 

Sued_Faust

Bekanntes Mitglied
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?
 

Sued_Faust

Bekanntes Mitglied
Na gut habs nun erst mal mit einer Abfrage nach dem Betriebssystem glöst, vieleicht find ich ja noch irgendwann eine bessere Lösung.

Danke dir für die Hilfe!
 
M

maki

Gast
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.

IMHO sollte aber \n\r immer funktionieren.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M HTTP-request aus Applet Tools - Maven, Gradle, Ant & mehr 2
B Applet: com.sun.deploy.security.BlockedException :-( Tools - Maven, Gradle, Ant & mehr 0
M Applet Applet legt Browser lahm Tools - Maven, Gradle, Ant & mehr 3
J Applet Aus anderer Browserinstanz Applet abfragen Tools - Maven, Gradle, Ant & mehr 2
P Linux Applet/Webstart Schriftunterschiede Tools - Maven, Gradle, Ant & mehr 3
E JMol -Applet Einbindung Tools - Maven, Gradle, Ant & mehr 0
T Applet Applet und IText wirft Incompatible magic value 1008813135 Fehler Tools - Maven, Gradle, Ant & mehr 6
P Applet Java Applet läuft im Browser nicht mehr (HTTPClient - NoClassDefFoundError) Tools - Maven, Gradle, Ant & mehr 3
P Applet Applet Signatur auf Server mit SSL-Zertifikat? Tools - Maven, Gradle, Ant & mehr 7
H Applet Applet wird nicht angezeigt Tools - Maven, Gradle, Ant & mehr 2
M Applet Applet funktioniert in Google Chrome nicht Tools - Maven, Gradle, Ant & mehr 2
O Applet "Anwendung kann nicht ausgeführt werden" Tools - Maven, Gradle, Ant & mehr 6
Q Applet Fehlermeldung bei Applet-Wechsel Tools - Maven, Gradle, Ant & mehr 4
T Daten per POST-Methode aus Java-Applet nach php-Script senden Tools - Maven, Gradle, Ant & mehr 3
R Applet friert Adresszeile des Firefox ein Tools - Maven, Gradle, Ant & mehr 2
K Applet als Jar-Datei in HTML einbinden Tools - Maven, Gradle, Ant & mehr 14
H Applet-Fehlermeldung Tools - Maven, Gradle, Ant & mehr 10
H Applet läuft nicht im Browser Tools - Maven, Gradle, Ant & mehr 3
Q Applet Applet läuft nicht im Browser Tools - Maven, Gradle, Ant & mehr 14
J Applet URL mittels TTS als Applet lesen lassen Tools - Maven, Gradle, Ant & mehr 40
F Applet verwischt, wenn Seite gescrollt wird Tools - Maven, Gradle, Ant & mehr 16
S Applet Applet mit C# öffnen: java.lang.SecurityException: Permission denied (WinXP) Tools - Maven, Gradle, Ant & mehr 8
J Applet-Quellcode einsehen Tools - Maven, Gradle, Ant & mehr 6
E Applet Applet und Datenbank Konzept Tools - Maven, Gradle, Ant & mehr 4
A Applet: Html Datei und Class Datei nicht im selben Verzeichnis Tools - Maven, Gradle, Ant & mehr 2
S Applet soll Textdatei von fremdem Server öffnen Tools - Maven, Gradle, Ant & mehr 8
E Java Applet bearbeiten Tools - Maven, Gradle, Ant & mehr 8
Quasar Wie signiere ich mein Applet richtig? Tools - Maven, Gradle, Ant & mehr 6
M mit Applet Javascript Aufrufen Tools - Maven, Gradle, Ant & mehr 2
S Applet and stop() method und gui blocked Tools - Maven, Gradle, Ant & mehr 4
A Applet Applet startet nach Einbinden auf Website nicht Tools - Maven, Gradle, Ant & mehr 4
A Applet, xxx.jar und hsqldb Tools - Maven, Gradle, Ant & mehr 4
T Webstart oder Applet Tools - Maven, Gradle, Ant & mehr 2
H Applet applet neu laden im browser Tools - Maven, Gradle, Ant & mehr 10
M Applet neustart Tools - Maven, Gradle, Ant & mehr 5
S Applet GUI nicht im Webbrowser sichtbar Tools - Maven, Gradle, Ant & mehr 5
S Mittel Applet Datei an ein Webserver übertragen Tools - Maven, Gradle, Ant & mehr 2
M Applet in ClientServer J2EE Anwendung debugen Tools - Maven, Gradle, Ant & mehr 6
H Java Applet Problem beim einbinden in HTML Tools - Maven, Gradle, Ant & mehr 3
M Java3D Applet flackert wenn ein Button(HTML) gedrückt wird Tools - Maven, Gradle, Ant & mehr 11
S Policy mit Signiertem Applet verteilen Tools - Maven, Gradle, Ant & mehr 9
F Applet findet include nicht Tools - Maven, Gradle, Ant & mehr 15
L PHP + Java Applet Kommunikation Tools - Maven, Gradle, Ant & mehr 9
C Probleme mit Applet mit SQL im Browser Tools - Maven, Gradle, Ant & mehr 4
G Java-Applet Probleme beim Browser Tools - Maven, Gradle, Ant & mehr 14
G Textfile in Applet laden möglich? Tools - Maven, Gradle, Ant & mehr 2
A Java-Applet Sandbox deaktiviren? Tools - Maven, Gradle, Ant & mehr 2
B Java-Applet geht nicht (auf dem Webserver) Tools - Maven, Gradle, Ant & mehr 9
P Applet läuft nicht in Browser Tools - Maven, Gradle, Ant & mehr 21
V JAR-Datei eines (J)Applet funktioniert nicht - Help! Tools - Maven, Gradle, Ant & mehr 19
S Java Applet per Klick starten? Tools - Maven, Gradle, Ant & mehr 6
S Applet geht nicht Tools - Maven, Gradle, Ant & mehr 25
J Applet signieren Tools - Maven, Gradle, Ant & mehr 2
H Applet - Geschicklichkeitsspiel programmieren Tools - Maven, Gradle, Ant & mehr 16
U Jar funktioniert nicht als Applet Tools - Maven, Gradle, Ant & mehr 3
C Applet Frage Tools - Maven, Gradle, Ant & mehr 4
M Java Applet - enforce use of older JRE Tools - Maven, Gradle, Ant & mehr 3
N Wie Java-Programm zu Applet machen?! Tools - Maven, Gradle, Ant & mehr 2
W Webseite aus Applet öffnen Tools - Maven, Gradle, Ant & mehr 3
lumo Applet - resize Tools - Maven, Gradle, Ant & mehr 7
Icewind Applet reagiert nach neu laden der Webseite nicht mehr verlässlich auf KeyEvents Tools - Maven, Gradle, Ant & mehr 6
R Applet mit MySQL Tools - Maven, Gradle, Ant & mehr 3
A jar datei trotz zertifikat nich aus applet ausführbar Tools - Maven, Gradle, Ant & mehr 4
F Fehlende Applet Rechte Tools - Maven, Gradle, Ant & mehr 12
N [Applet] Button wir nach 5 secs Unsichtbar Tools - Maven, Gradle, Ant & mehr 2
N jar -> applet wie setzt man das am leichtesten um Tools - Maven, Gradle, Ant & mehr 7
V applet Java 1.6 -> 1.5 Problem ... wie mit Ant zu lösen? Tools - Maven, Gradle, Ant & mehr 7
F applet als JAR -> AccessControlException Tools - Maven, Gradle, Ant & mehr 3
grudge File in Applet laden Tools - Maven, Gradle, Ant & mehr 4
E Java Applet - Double Buffering Problem (Flackern) Tools - Maven, Gradle, Ant & mehr 6
R Applet mit bestimmter JRE ausführen Tools - Maven, Gradle, Ant & mehr 9
traysa Wie binde ich ein applet in eine jsp Tools - Maven, Gradle, Ant & mehr 3
D Mit dem Applet das DOM manipulieren? Tools - Maven, Gradle, Ant & mehr 3
ABstraCT Applet getCodeBase() Zugriff auf darüberliegendenden Ordner ? Tools - Maven, Gradle, Ant & mehr 1
S Java-Applet Steuerung IO Karte am Drucker-Port Tools - Maven, Gradle, Ant & mehr 4
P URL aus Applet öffnen? Tools - Maven, Gradle, Ant & mehr 7
ABstraCT Mit Applet in ne Datei auf seinem Server schreiben. Tools - Maven, Gradle, Ant & mehr 10
E Verzögerung beim Refresh (F5) mit einem Applet verursachen Tools - Maven, Gradle, Ant & mehr 16
deetee Applet Frage Tools - Maven, Gradle, Ant & mehr 2
S Fehler in einem Upload - Applet (nicht gelöst!!) Tools - Maven, Gradle, Ant & mehr 2
G Variable an zweites Applet übergeben Tools - Maven, Gradle, Ant & mehr 3
M Dringend: Sehr kompliziertes Applet Problem Tools - Maven, Gradle, Ant & mehr 4
O Javascript kommuniziert mit Applet? Tools - Maven, Gradle, Ant & mehr 2
H Spracherkennung mit Applet / Policy bzw. Security Fehler Tools - Maven, Gradle, Ant & mehr 2
zilti Nerviger Hinweis bei Applet- und WS-Fenstern - wieso? Tools - Maven, Gradle, Ant & mehr 3
S Datei-/Verzeichniszugriff von signiertem Applet Tools - Maven, Gradle, Ant & mehr 6
G Signiertes Applet installieren? Tools - Maven, Gradle, Ant & mehr 3
G Applet mit Parameter aus JavaScript Tools - Maven, Gradle, Ant & mehr 5
A Applet Maus Koordinaten ohne MouseMotionListener Tools - Maven, Gradle, Ant & mehr 3
K Applet in Eclipse funktioniert, im Browser nicht Tools - Maven, Gradle, Ant & mehr 7
T Applet soll Java Programm starten Tools - Maven, Gradle, Ant & mehr 2
S Applet pai.nt? Tools - Maven, Gradle, Ant & mehr 3
S Applet und File-Object? Tools - Maven, Gradle, Ant & mehr 9
T Applet soll Datei lesen (darf es aber nicht.) Tools - Maven, Gradle, Ant & mehr 3
P Java-Applet funktioniert unter WINXP nicht Tools - Maven, Gradle, Ant & mehr 2
N Java 1.6 Applet auf älteren Versionen ausführbar? Tools - Maven, Gradle, Ant & mehr 4
G Signiertes Applet prüfen? Tools - Maven, Gradle, Ant & mehr 3
H Problem mit einen Applet Tools - Maven, Gradle, Ant & mehr 5
J Java Applet bei mouseover mit Tooltip Tools - Maven, Gradle, Ant & mehr 3
G Applet Security Problem Tools - Maven, Gradle, Ant & mehr 3

Ähnliche Java Themen

Neue Themen


Oben