Hallo!
Ich versuche eine Datei über eine https-Verbindung mit Java zu übertragen, erhalte jedoch eine Fehlermeldung, die ich nicht verstehe.
Der Fehler passiert nicht auf jedem Computer, ich habe noch nicht herausgefunden, ob es an Java-Versionen, der Verbindung oder anderen Eigenschaften liegt.
Hoffe, dass hier jemand eine Lösung weiß - Besten Dank im Voraus!
Das Programm (Ausschnitt) ***********
/* Configure the connection using POST, not putting sensitive data
* into the address-line */
URL url = new URL(reqp);
HttpsURLConnection socket = (HttpsURLConnection) url.openConnection();
socket.setRequestMethod("POST");
socket.setDoOutput(true);
socket.setDoInput(true);
socket.connect();
/* Defining the Request
* Please Note that the RequestMethod, Content-Length and
* Content-Type should be declared using socket.setRequestProperty,
* however this did not work properly.
*/
String req=
"POST "+reqp+" HTTP/1.1\r\n"+
"Content-Length: "+data.length()+"\r\n"+
"Content-Type: application/x-www-form-urlencoded\r\n"+
"\r\n"+
data;
/* Configuring the writer for writing TO THE CONNECTION */
OutputStream out = socket.getOutputStream();
out.write(req.getBytes("UTF-8"));
/* Configuring the InputStream collecting the result-data*/
InputStream in = socket.getInputStream();
/* Write the response to a file */
filename = intmsgnr+"RES.TXT";
FileOutputStream writer = new FileOutputStream(filename);
byte[] buffer = new byte[1024];
int numRead;
long numWritten = 0;
while ((numRead = in.read(buffer)) != -1) {
writer.write(buffer, 0, numRead);
numWritten += numRead;
}
Alles anzeigen
Die Fehlermeldung *****************
java.io.IOException: Bogus chunk size
at sun.net.www.http.ChunkedInputStream.processRaw(Unknown Source)
at sun.net.www.http.ChunkedInputStream.readAheadBlocking(Unknown Source)
at sun.net.www.http.ChunkedInputStream.readAhead(Unknown Source)
at sun.net.www.http.ChunkedInputStream.read(Unknown Source)
at java.io.FilterInputStream.read(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read (Unknown Source)
at edServerDialog.readWriteToFile(edServerDialog.java:419)
Die Zeile in der der Fehler passiert, ist die Codezeile, die mit "while" beginnt - hat also etwas mit dem Empfangsteil zu tun. Es scheint auch nicht mit Größe von "buffer" zusammenzuhängen.
Bin für jeden Tipp dankbar!