在Restlet / GAE中发回压缩的JSON

时间:2012-05-09 21:39:51

标签: java google-app-engine gzip restlet

我正在GAE上编写一个Restlet应用程序,类似于这里描述的: First Application

我发回一个实体的JSON represntation,这是有效的。但到目前为止,我发送压缩响应并不成功。

我尝试添加请求带有“gzip”的accept-encoding标头。但这没有帮助。以下是我测试它的方法:

URL url = new URL(address);
URLConnection urlConn = url.openConnection();
urlConn.setRequestProperty("Accept-Encoding", "gzip");
InputStream openStream = urlConn.getInputStream();

非常感谢任何想法!

1 个答案:

答案 0 :(得分:1)

我相信您还需要指定User-Agent标头来强制压缩。来自文档:

https://developers.google.com/appengine/docs/python/runtime#Responses

  

如果客户端发送HTTP标头,请求指示该标头   客户端可以接受压缩(gzip)内容,App Engine压缩   响应数据自动并附加适当的响应   头。它使用Accept-Encoding和User-Agent请求   用于确定客户端是否可以可靠地接收压缩的标头   响应。自定义客户端可以强制压缩内容   指定Accept-Encoding和User-Agent标头,其值为   “gzip的”。