Próbuję pobrać całe ciało z obiektu HttpServletRequest.Uzyskaj treść żądania POST z HttpServletRequest
Kod śledzę wygląda następująco:
if (request.getMethod().equals("POST"))
{
StringBuffer sb = new StringBuffer();
BufferedReader bufferedReader = null;
String content = "";
try {
//InputStream inputStream = request.getInputStream();
//inputStream.available();
//if (inputStream != null) {
bufferedReader = request.getReader() ; //new BufferedReader(new InputStreamReader(inputStream));
char[] charBuffer = new char[128];
int bytesRead;
while ((bytesRead = bufferedReader.read(charBuffer)) != -1) {
sb.append(charBuffer, 0, bytesRead);
}
//} else {
// sb.append("");
//}
} catch (IOException ex) {
throw ex;
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException ex) {
throw ex;
}
}
}
test = sb.toString();
}
a ja testuje funkcjonalność z dyni i wget następująco:
curl --header "MD5: abcd" -F "[email protected] http://localhost:8080/abcd.html"
wget --header="MD5: abcd" --post-data='{"imei":"351553012623446","hni":"310150","wdp":false}' http://localhost:8080/abcd.html"
Ale while ((bytesRead = bufferedReader.read(charBuffer)) != -1)
nic nie wróci, a więc Nic nie jest dołączane do StringBuffer.
Nie próbuję analizować/uchwyt wysyłania plików. Chcę uzyskać "treść żądania POST" w formacie String. –
@patelbhavin Zastanów się nad usunięciem słowa "parsowanie" z tytułu pytania. –
@patelbhavin Zobacz aktualizację. –