我正在使用 Netty,并且必须接受并解析 http POST 请求。据我所知,Netty 没有内置对 POST 的支持,只有 GET 的支持。 (这是一个相当低级的库,处理原始网络操作。使用 servlet 容器,开箱即用地完成所有这些工作,不是一个选择。)
如果我将 POST 请求的内容作为字节数组,那么将其解析为参数映射的最快且最无错误的方法是什么?
我可以自己写这个,但是mustJDK 中内置的一些方法可以让这一切变得更容易。我敢打赌,有一些问题和极端情况需要处理。
Netty有一个高级的POST请求解码器(HttpPostRequestDecoder),可以解码
Http 属性,文件上传内容采用分块编码。
这是一个简单形式的解码示例
public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception {
HttpRequest request = (HttpRequest) e.getMessage();
HttpPostRequestDecoder decoder = new HttpPostRequestDecoder(new DefaultHttpDataFactory(false), request);
InterfaceHttpData data = decoder.getBodyHttpData("fromField1");
if (data.getHttpDataType() == HttpDataType.Attribute) {
Attribute attribute = (Attribute) data;
String value = attribute.getValue()
System.out.println("fromField1 :" + value);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)