Kamis, 01 November 2012

Get Content from Httpresponse

Sorry If the tittle use english, but the content indonesian :senyum. Langsung aja yak kemarin gw punya masalah tentang cara ngambil content response yang ada di web, tp melalui httpresponse. Karena problem gw itu gak ditampilkan di web lagi, melainkan diteruskan lagi ke switching lain. Oke langsung aja, yang perlu kita ambil itu stream terus dijadiin string.

private StringBuilder inputStreamToString(InputStream is) {
    String line = "";
    StringBuilder total = new StringBuilder();
    
    // Wrap a BufferedReader around the InputStream
    BufferedReader rd = new BufferedReader(new InputStreamReader(is));

    // Read response until the end
    while ((line = rd.readLine()) != null) { 
        total.append(line); 
    }
    
    // Return full string
    return total;
}

Kemudian fungsi di atas dipanggil dan passing paramater inputStreamnya. Lihat contoh di bawah ini.
public void run() {
  HttpClient hc = new DefaultHttpClient();
  URI uri = null;
  try {
   uri = URIUtils.createURI("http", "192.168.0.133", 9083, "/retail/request", request_param, null);
   
   System.out.println("uri "+uri);
   
   HttpPost httpost = new HttpPost(uri);  
   HttpResponse response = hc.execute(httpost);
   StringBuilder sb = inputStreamToString(response.getEntity().getContent());
  
   System.out.println("response "+sb);
   
  } catch(URISyntaxException ex) {
   Logger.getLogger(TCashDevelH2H.class.getName()).log(Level.SEVERE, null, ex);
  }catch (IOException ex) {
                 Logger.getLogger(TCashDevelH2H.class.getName()).log(Level.SEVERE, null, ex);
                } 
   finally {
   hc.getConnectionManager().shutdown();
  }
 }

Nah disitu tinggal panggil inputStreamnya aja abis itu print dah contentnya. Btw gw ga masukin full source code karena disitu banyak banget, Di situ gw bikin class TCashDevelH2H dan isinya ada fungsi run dan inputStreamToString.

Sekian dari gw, kalau mau lebih jelas lagi. Lihat link ini aja ya :).

0 komentar:

Posting Komentar