Jes*_*jan 13
Netty有一个高级POST请求解码器(HttpPostRequestDecoder),它可以解码Http属性,FileUpload内容带有分块编码.
这是一个简单的表单解码示例
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);
}
}
Run Code Online (Sandbox Code Playgroud)
您可以在Netty 4.x中使用HttpPostRequestDecoder.它支持各种POST机身.Netty 4.x目前被标记为alpha,但非常稳定.请参阅Xitrum中的BodyParser.
如果你只需要解析简单的主体,你仍然可以在Netty 3.x中使用QueryStringDecoder,将POST主体视为"?"之后的部分.在URL中,像这样:
QueryStringDecoder decoder = new QueryStringDecoder("?" +
request.getContent.toString(org.jboss.netty.util.CharsetUtil.UTF_8));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15130 次 |
最近记录: |