如何使用Netty读取HTTP请求的主体?

时间:2012-02-03 05:51:55

标签: java http netty

我使用netty3.3版本, 我想阅读我收到的HTTP请求的正文。 如何通过NETTY 3.3实现。

任何身体都可以帮助我。

2 个答案:

答案 0 :(得分:5)

在您的SimpleChannelHandler已实施的课程中,覆盖messageReceived方法,如下所示,

    @Override
    public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception {
        HttpRequest request = (HttpRequest) e.getMessage();
        ChannelBuffer content = request.getContent();
        LOGGER.info("Received Message[{}][{}]", request.getUri(), content.toString("UTF-8")); // Printing the URI and message body
    }

content.toString("UTF-8")会给身体。

答案 1 :(得分:2)

只需使用:

((HttpMessage) e.getMessage()).getContent();

见[1]。

[1] http://netty.io/docs/stable/api/org/jboss/netty/handler/codec/http/HttpMessage.html