我正在嘗試撰寫一個簡單的 HTTP 服務器,但無法弄清楚如何讀取 POST 請求的正文段。我無法閱讀標題后的空行。
這是我所做的:
BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream()));
StringBuilder request = new StringBuilder();
String line;
while(!(line = br.readLine()).isEmpty()) {
request.append(line).append(CRLF);
System.out.println(line);
}
// read body ?
所以這基本上將請求和標題加載到一個字串中。但我不知道如何跳過將標題與正文分開的那一行。
我試過 readLine() != null 或在回圈終止后手動讀取另外兩行,但這會導致回圈。
uj5u.com熱心網友回復:
嘗試決議 content-length 標頭以獲取位元組數。在空行之后,您需要準確讀取那么多位元組。使用 readLine() 將不起作用,因為主體不是由 CRLF 終止的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/372644.html
