为什么服务器没有返回任何东西?

时间:2011-10-18 00:18:47

标签: android http return

我使用以下代码从php页面(www.ace.ucv.ro/android/android.php)中检索基本上是JSON格式的字符串。

出于某种原因,无论我尝试什么,字符串“result”都保持为空,其中没有任何内容存储,即使我使用特殊函数将其从InputStream转换为String(使用BufferedReader)。

我要存储的字符串称为“RESULT”。

public void connect(String url){
         HttpClient client = new DefaultHttpClient();
         HttpGet httpGet = new HttpGet(url);
         HttpResponse response;

         try{
             response = client.execute(httpGet);

             Log.i("Praeda", response.getStatusLine().toString());

             HttpEntity entity = response.getEntity();

             if(entity != null){
                 result = entity.getContent().toString();
             }

             if(entity == null){
                 result = "failed";
             }
             }catch(Exception e){
             e.printStackTrace();
         }
    }

你可能有任何建议会很棒......

1 个答案:

答案 0 :(得分:0)

JSON响应通常是gzip压缩,试试这个

jsonResponse = client.execute(httpGet);
InputStream in = response.getEntity().getContent();
GZIPInputStream gin = new GZIPInputStream(in);
BufferedReader reader = new BufferedReader(new InputStreamReader(gin));
String line;
while ((line = reader.readLine()) != null) {
    jsonResponse.append(line);
}
reader.close();