用Java块化HTTP解码?
问题内容:
我正在解码http数据包。我遇到了一个大问题。当我收到一个http数据包时,它具有标题和正文。当对Transefer-
encoding进行分块处理时,我不知道该怎么办?
是否有有用的API或类可对JAVA中的数据进行解组?
如果有人对http解码很有经验,请告诉我一种方法。
问题答案:
使用像Apache HttpComponents Client这样的功能强大的HTTP客户端,或者仅使用提供的Java SE
java.net.URLConnection
(此处为迷你教程)。两者都完全透明地处理它,并为您提供“正常”的InputStream
返回。反过来,HttpClient还附带了一个ChunkedInputStream
,您只需用它来装饰即可InputStream
。
如果您真的坚持为此自己开发一个库,那么我建议创建一个类,ChunkedInputStream extends InputStream
并相应地编写逻辑。您可以在此Wikipedia文章中找到如何解析它的更多详细信息。