我已经编写了一个接收http
请求的服务器套接字代码并将其打印在控制台上。
以下是服务器代码。
clientSocket = echoServer.accept();
is = new DataInputStream(clientSocket.getInputStream());
while (true)
{
line = is.readLine();
System.out.println(line);
}
输出结果为:
POST / HTTP/1.1
User-Agent: Java/1.6.0_20
Host: 127.0.0.1:4000
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Content-type: application/x-www-form-urlencoded
Content-Length: 7
Hello
我不想在输出中使用标题,我怎样才能在输出中只获取Body部分" Hello"?
答案 0 :(得分:1)
HTTP requests以状态行开头,后跟标题行,后跟正文。请求/标题行由单个CRLF
(\r\n
)分隔,但正文与其他CRLF
分开:
POST / HTTP/1.1
User-Agent: Java/1.6.0_20
Host: 127.0.0.1:4000
Accept: text/html, image/gif, image/jpeg, *; q=.2, /; q=.2
Connection: keep-alive
Content-type: application/x-www-form-urlencoded
Content-Length: 7
Hello
E.g。你需要寻找第一个空行。在身体开始之后。