gpt4 book ai didi

java - 如何解压http响应?

转载 作者:行者123 更新时间:2023-12-01 16:41:51 25 4
gpt4 key购买 nike

你们谁能解决这个问题吗?

问题描述:

我已从 http 网络服务器收到内容编码:gzip header 。现在我想解码内容,但是当我使用 jdk 1.6.12 中的 GZIP 类时,它给出 null。

这是否意味着内容不是gzip格式?或者还有其他一些类用于解压缩http响应内容吗?

示例代码:

System.out.println("Reading InputStream");
InputStream in = httpuc.getInputStream();// httpuc is an object of httpurlconnection<br>
System.out.println("Before reading GZIP inputstream");
System.out.println(in);
GZIPInputStream gin = new GZIPInputStream(in));
System.out.println("After reading GZIP inputstream");

输出:

Reading InputStream
Before reading GZIP inputstream
sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@8acf6e
null

我发现代码中有一个错误,但无法正确理解它。表示什么。

错误! java.io.EOFException

谢谢

最佳答案

我认为你应该看看HTTPClient ,它将为您处理很多 HTTP 问题。特别是,它允许访问响应正文,该响应可能被 gzip 压缩,然后您只需通过 GZIPInputStream 提供该响应

例如

    Header hce = postMethod.getResponseHeader("Content-Encoding");
InputStream in = null;
if(null != hce)
{
if(hce.getValue().equals(GZIP)) {
in = new GZIPInputStream(postMethod.getResponseBodyAsStream());
}
// etc...

关于java - 如何解压http响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1063004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com