Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android java中压缩与未压缩wcf响应的重设大小_Android - Fatal编程技术网

Android java中压缩与未压缩wcf响应的重设大小

Android java中压缩与未压缩wcf响应的重设大小,android,Android,我想以压缩大小gzip和未压缩大小从.NET wcf web检索响应的大小,以计算压缩比。 如何获得响应的压缩大小和未压缩大小 以下是我的Android java代码: protected String doInBackground(String... urls) { DefaultHttpClient client = new DefaultHttpClient(); client.getParams().setParameter("http.protocol.content-

我想以压缩大小gzip和未压缩大小从.NET wcf web检索响应的大小,以计算压缩比。 如何获得响应的压缩大小和未压缩大小

以下是我的Android java代码:

protected String doInBackground(String... urls) {
    DefaultHttpClient client = new DefaultHttpClient();
    client.getParams().setParameter("http.protocol.content-charset", HTTP.UTF_8);
    String line = "";
    StringBuilder result = new StringBuilder();
    Boolean ResponseIsCompressed = false;
    BufferedReader rd;
    InputStreamReader reader = null;
    String charset = "UTF-8"; // You should determine it based on response header.
    try {
        URL url= new URL(urls[0]);
        HttpGet request = new HttpGet(url.toString());
        request.setHeader("Accept", "application/json");
        request.setHeader("Accept-Encoding", "gzip");
        request.setHeader("Content-type", "application/json");

        //get the response
        HttpResponse response = client.execute(request);
        StatusLine statusline =  response.getStatusLine();
        if (statusline.getStatusCode() != 200)
            throw new Exception(statusline.getReasonPhrase());

        HttpEntity entity = response.getEntity();
        if(entity.getContentLength() != 0) {
            // stream reader object

            final Header encoding = entity.getContentEncoding();
            if (encoding != null) {
                for (HeaderElement element : encoding.getElements()) {
                    if (element.getName().equalsIgnoreCase("gzip")) {
                        ResponseIsCompressed = true;
                        break;
                    }
                }
            }
            if (ResponseIsCompressed) {
                InputStream gzippedResponse = response.getEntity().getContent();
                InputStream ungzippedResponse = new GZIPInputStream(gzippedResponse);
                reader = new InputStreamReader(ungzippedResponse, charset);
                rd = new BufferedReader(reader);
            }
            else {
                rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
            }
            while((line = rd.readLine()) != null) {
                result.append((line));
            }
        }
    } catch (Exception e) {
        this.exception = e;
        return null;
    }
    return result.toString();
}