ホームページ >バックエンド開発 >PHPチュートリアル >Android インターフェイスでの JSON データの送信には Gzip 圧縮が使用されます
<span style="font-size:18px;">当前android访问接口传输数据多使用json格式(简单易解析跨平台),为了节省带宽和传输时间服务器往往会在传输前进行gzip压缩,下面是几个需要注意的地方。</span>
1. PHP サーバーの場合、インターフェイスにアクセスするときに、パラメーター Accept-Encoding: gzip, deflate をヘッダーに指定する必要があります。そうしないと、たとえ gzip 圧縮がバックグラウンドで行われても、実際の圧縮は実行されません。
2. サーバーがデータを gzip 圧縮する場合、AP がデータを取得する前にデータを gzip 解凍する必要があります:
<span style="font-size:18px;">public String getResponseBodyAsString(HttpResponse response) throws IO<strong>Exception</strong> { GZIPInputStream gzin; if (response.getEntity() != null) { Header header = response.getFirstHeader("Content-Encoding"); if (header != null && header.getValue().toLowerCase().indexOf("gzip") != -1) { gzin = new GZIPInputStream(response.getEntity().getContent()); InputStreamReader isr = new InputStreamReader(gzin, "UTF-8"); BufferedReader br = new BufferedReader(isr); StringBuilder sb = new StringBuilder(); String tmp; while ((tmp = br.readLine()) != null) { sb.append(tmp); sb.append("\r\n"); } br.close(); isr.close(); return sb.toString(); } else { // 否则正常返回 return EntityUtils.toString(response.getEntity(), HTTP.UTF_8); } } else { return null; } }</span>
上記では、例外コンテンツを含む、Android インターフェイスでの json データの送信における gzip 圧縮の使用について紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。