2011-03-31 5 views
0

я размещая данные на сервер и я получаю данные обратно в виде ответа ... Я использую этот кодСинтаксического ответ от метода поста

PostMethod post = new PostMethod(this._serverUrl); 

     InputStream is=null; 
     is = new ByteArrayInputStream(postData.getBytes("UTF-8")); 

     post.setRequestEntity(new InputStreamRequestEntity(is)); 
     post.setRequestHeader("Content-type", "text/xml; charset=ISO-8859-1"); 

     HttpClient httpclient = new HttpClient(); 

     int result = httpclient.executeMethod(post); 

     String response=""; 
     response = post.getResponseBodyAsString(); 

я использовал обыкновенный APACHE HTTPClient для делать проводки .... здесь я получить ответ как

03-31 17:53:49.192: INFO/Response(2237): <?xml version="1.0" encoding="UTF-8"?> 
03-31 17:53:49.192: INFO/Response(2237): <AndroidGame> 
03-31 17:53:49.192: INFO/Response(2237): <Result>0</Result> 
03-31 17:53:49.192: INFO/Response(2237): <ErrorCode>509</ErrorCode> 
03-31 17:53:49.192: INFO/Response(2237): <ErrorMsg>You are using wrong Super Password</ErrorMsg> 
03-31 17:53:49.192: INFO/Response(2237): </AndroidGame> 

Но мне нужно, чтобы получить ответ в строки .... Я не могу получить ответ в виде одной строки ... он приходит в куски ... Может ли кто-нибудь мне помочь в этом

ответ

1

я сделать это таким образом (Ive объединяет код из различных методов, которые я использую, так что это может быть немного неаккуратно):

HttpPost request = new HttpPost(url); 
    List<NameValuePair> postParameters = new ArrayList<NameValuePair>(); 
    postParameters.add(new BasicNameValuePair(PARAMETER_LOGIN, login)); 
    postParameters.add(new BasicNameValuePair(PARAMETER_PASSWORD, password)); 
    UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(postParameters, "UTF-8"); 
    request.setEntity(formEntity); 

    HttpResponse response = client.execute(request); 

    BufferedReader in = null; 
    try { 
     //Log.d("status line ", "test " + response.getStatusLine().toString()); 
     in = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8")); 
     StringBuffer sb = new StringBuffer(""); 
     String line = ""; 
     String NL = System.getProperty("line.separator"); 
     while ((line = in.readLine()) != null) { 
      sb.append(line + NL); 
     } 
     in.close(); 
     return sb.toString();  
    } finally { 
     if (in != null) { 
      try { 
       in.close(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
     } 
    } 
+0

Эй Максим ...: D ... Что клиент у использоваться в ответе HttpResponse = client.execute (запрос); вы можете указать? .... –

+0

HttpClient client = new DefaultHttpClient(); – Maxim

Смежные вопросы