Ce que l'en-tête doit être utilisé pour l'envoi de GZIP JSON à partir d'Android Client vers le Serveur?
Cette question est extension à la question ici. Je suis en utilisant le code ici reproduit ci-dessous pour GZIP compresse un JSONObject
.
String foo = "value";
ByteArrayOutputStream baos = new ByteArrayOutputStream();
GZIPOutputStream gzos = null;
try {
gzos = new GZIPOutputStream(baos);
gzos.write(foo.getBytes("UTF-8"));
} finally {
if (gzos != null) try { gzos.close(); } catch (IOException ignore) {};
}
byte[] fooGzippedBytes = baos.toByteArray();
Je suis à l'aide d'un DefaultHttpClient
envoyer ce comprimé JSONObject au serveur(le code est dans mon contrôle).
Ma Question
Ce que l'en-tête doit-je utiliser dans mon request
? Je suis à l'aide de request.setHeader("Content-type", "application/json");
pour l'envoi de JSON pour le serveur?
- Double? Bref, la réponse devrait être
request.addHeader("Accept-Encoding", "gzip");
- ok, dois-je supprimer la question ou à un autre la question du titre de l'aide à la communauté?
- J'ai marqué en sorte qu'il sera fermé et, comme vous l'avez dit, variante de titre va aider quelqu'un d'autre.
- si vous souhaitez répondre, ajouter, je vais accpect ou vous pouvez éditer ma réponse.
- Comment êtes-vous d'envoyer le comprimé byte[] dans une requête POST?
Vous devez vous connecter pour publier un commentaire.
Informer le serveur que vous envoyez gzip des données codées, envoyer le Encodage De Contenu en-tête, pas Accept-Encoding.
Cette réponse vous indique que vous devez définir un en-tête indiquant que vous envoyez les données compressées:
La réponse montre également la façon de traiter avec le nouveau comprimé de données.