2011-10-18 94 views
1

我用下面这段代码从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(); 
     } 
    } 

任何建议,你可能会很大......

+0

您是否已经验证服务器确实正在发送你认为它的JSON正在发送? –

+0

它生成的页面只是HTML和一个有效的JSON字符串。 (经过测试,所以它是一个有效的JSON)。问题是它没有从网页获取任何内容:www.ace.ucv.ro/android/android – Eugen

+0

难道数据可能太长? – Eugen

回答

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(); 
+0

我会尽快尝试!非常感谢您的回答! – Eugen

+0

尽管... jsonResponse不能追加一行... – Eugen

+0

使用了一个StringBuilder!无论如何,非常感谢您的帮助!这对我来说是一个巨大的帮助! – Eugen

相关问题