Java HTTP Client是否处理压缩
作者:互联网
我试图在新的Java HTTP Client中找到任何关于压缩处理的提及但是失败了.是否有内置配置来处理例如gzip或deflate压缩?
我希望有一个BodyHandler,例如这样的事情:
HttpResponse.BodyHandlers.ofGzipped(HttpResponse.BodyHandlers.ofString())
但我没有看到任何.我也没有在HttpClient中看到任何配置.我是在寻找错误的地方,还是故意没有实施并推迟支持图书馆?
解决方法:
不,默认情况下不处理gzip / deflate压缩.如果需要,您必须在应用程序代码中实现它 – 例如通过提供定制的BodySubscriber来处理它.或者 – 您可能想看看那里的一些反应流库是否提供了这样的功能,在这种情况下,您可以通过使用BodyHandlers.fromSubscriber之一(Flow.Subscriber<?)来管理它.超级列表< ByteBuffer>>订阅者)或BodyHandlers.ofPublisher()方法.
标签:java,java-11,java-http-client 来源: https://codeday.me/bug/20190627/1303250.html