在java中接收POST HTTP请求

时间:2012-10-29 21:05:05

标签: java html sockets

我正在用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 
    }
}

1 个答案:

答案 0 :(得分:1)

buffer来自哪里?考虑使用(缓冲)socket.getInputStream()并逐字节读取(实际上逐个字符)。然后,当您阅读GET / POST后,您可以继续阅读标题的其余部分。

BTW是否有任何理由实现HTTP,因为有很多HTTP服务器和servlet容器可供使用,可以嵌入?请记住,HTTP是一个令人惊讶的复杂协议......