Ich arbeite an einem Java-Programm, das einen HTTP-Client implementiert. Ich teste das Senden von Anfragen an einen Server. GET, POST und DELETE-Anfragen funktionieren in Ordnung. Zum Beispiel nach einer POST-Anfrage erhalte ich eine Ausgabe"411 Length Required" nach einer PUT-Anfrage vom HTTP-Client erhalten
Data extracted:
{"status":{"message":"ok"}}
und die Datenbank spiegelt die vorgenommenen Änderungen.
Nach einer PUT-Anfrage bekomme ich jedoch das folgende HTML-Markup einer Webseite, das einen Fehler anzeigt.
Data extracted:
<html>
<head><title>411 Length Required</title></head>
<body bgcolor="white">
<center><h1>411 Length Required</h1></center>
<hr><center>nginx/1.2.6</center>
</body>
</html>
und dementsprechend keine Änderungen in der Datenbank.
Ich fand, dass dies etwas mit dem Content-Length-Header zu tun haben kann, aber ich bin mir nicht sicher. Nach dem Versuch, diesen Header hinzuzufügen, wartet mein Programm eine Minute lang und löst dann eine Ausnahme aus, die besagt, dass es die Serverantwort nicht verarbeiten kann.
Ich kann auch Code oder Stack-Trace bei Bedarf bereitstellen.
Also 'setHeader (" Inhalt-Länge "," "+ file.length())" resp. 'setContentLength ((int) file.length());' oder so. –
Ich möchte keine Datei hochladen. Nur versuchen, eine URL mit einer Reihe von Parametern zu übergeben, um die Datenbank zu aktualisieren –
Inhalt Länge 0 wie @Sachin richtig gesagt. –