Sonderbarer "Bogus chunk size"-Fehler

  • 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) ***********


    Die Fehlermeldung *****************

    Code
    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!

  • Wenn ich mir diesen Thread anschaue, dann koennte der Fehler daher ruehren, dass die angegebene content-length im Header nicht mir dem tatsaechlichen Inhalt des Dokuments uebereinstimmen. Beim Auslesen verlaesst sich der Inputstream auf die Angabe im HTTP Header.

    Versuch vielleicht mal:

    Code
    ...
    "Content-Length: " + data.getBytes("UTF-8").length + "\r\n" +
    ...

    Die Vermutung ist das, wenn Du 'data' in ein UTF-8 byte array kodierst, die Laenge nicht mehr mit deiner Angabe im Header uebereinstimmt. Strings sind ja in Java als 2 Byte UTF-16 kodiert.

  • Die Vermutung ist das, wenn Du 'data' in ein UTF-8 byte array kodierst, die Laenge nicht mehr mit deiner Angabe im Header uebereinstimmt. Strings sind ja in Java als 2 Byte UTF-16 kodiert.

    Danke für den Tipp! Doch die Bogus-Chunk-Size tritt ja beim Lesen der Antwort im InputStream auf und nicht bei der Anfrage - kann das überhaupt zusammenhängen?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!