Почему сервер ничего не возвращает? - PullRequest
1 голос
/ 18 октября 2011

Я использовал следующий фрагмент кода для получения в основном строки в формате JSON со страницы php (www.ace.ucv.ro/android/android.php).

По какой-то причине, независимо от того, что я пытаюсь, строка «результат» остается пустой, внутри нее ничего не сохраняется, даже когда я использую специальную функцию для преобразования ее из 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 голосов
/ 18 октября 2011

JSON-ответ обычно отправляется в архиве, попробуйте это

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();
...