获得 body 个 POST 请求 [Java]

Get body of POST request [Java]

我正在尝试编写一个简单的 HTTP 服务器,但不知道如何读取 POST-request 的 body 段。在 headers.

之后,我无法阅读超出空行的内容

这是我的做法:

    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 ?

所以这基本上是将请求和 headers 加载到一个字符串中。但我不知道如何跳过将 headers 与 body 分开的那一行。

我试过 readLine() != null 或在循环终止后手动读取另外两行,但这会导致循环。

尝试解析 content-length header 以获得字节数。在空白行之后,您需要准确读取那么多字节。使用 readLine() 将不起作用,因为 body 没有被 CRLF 终止。