我正在用Java创建一个多线程Web服务器(例如本地主机:http://127.0.0.1)。 我的问题是,如何从Web服务器上的客户端读取POST请求HTTP / 1.1?
以下代码适用于GET请求,但我想知道如何在POST请求中获取属性:
void get(Socket socket) throws IOException {
byte[] buffer = new byte[BUFFER_SIZE];
if (buffer[0] == (byte)'G' &&
buffer[1] == (byte)'E' &&
buffer[2] == (byte)'T' &&
buffer[3] == (byte)' ') {
//READ FOLLOWING OF ? in header EX: Get /?ABC=XYZ
}
}
答案 0 :(得分:1)
buffer
来自哪里?考虑使用(缓冲)socket.getInputStream()
并逐字节读取(实际上逐个字符)。然后,当您阅读GET
/ POST
后,您可以继续阅读标题的其余部分。
BTW是否有任何理由实现HTTP,因为有很多HTTP服务器和servlet容器可供使用,可以嵌入?请记住,HTTP是一个令人惊讶的复杂协议......