获得 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 终止。
我正在尝试编写一个简单的 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 终止。