我正在尝试gzip来自GAE服务器的响应,但在Content-Encoding中收到null。

我有以下代码:

connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type",
          "application/json; charset=utf-8"); //"application/json; charset=utf-8"
connection.setRequestProperty("Accept-Encoding", "gzip");
connection.setRequestProperty("User-Agent", "gzip");
connection.setUseCaches (false);
connection.setDoInput(true);
connection.setDoOutput(true);

//write
//read

System.out.println("Content-Encoding " + connection.getContentEncoding());

我读过,在GAE服务器上确实会自动压缩。那么可能是什么问题呢?

最佳答案

App Engine前端服务器取决于许多因素,包括Accept-EncodingUser-Agent header 来确定是否应压缩响应。他们之所以这样做,是因为那里有许多用户代理声称接受gzip压缩的响应,但实际上无法理解它们。

尝试将用户代理设置为明智的设置(而不是“gzip”,这不是真正的用户代理),然后查看是否有任何区别。

关于java - AppEngine gzip压缩,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8471681/

10-15 13:23