본문 바로가기

Android/NetWork

안드로이드/Android 서버 연동시 request body 셋팅 하기!

안드로이드/Android 서버 연동시 request body 셋팅 하기!



서버 연동시 request body 값 셋팅 방법 입니다.

URLConnection connection = new URL(url).openConnection();
connection.setDoOutput(true); // Triggers POST.
connection.setRequestProperty("Accept-Charset", charset);
connection.setRequestProperty
("Content-Type", "application/x-www-form-urlencoded;charset=" + charset);

try {
     OutputStreamWriter wr = new OutputStreamWriter(connection.getOutputStream());
     wr.write(URLEncoder.encode(StringData, "UTF-8"));
     wr.flush(); 
} finally {
     if (wr != null) try { wr.close(); } catch (IOException logOrIgnore) {}
}
InputStream response = connection.getInputStream();
// ...


1. connection.setDoOutput(true) 설정 하기.


 connection.setDoOutput(true);  // output 사용에 true 값을 넣어 줍니다. ( body에 추가시 OutputStream 객체를 사용하기 때문 입니다.)



2. 실제 body에 내용 추가 하기.

OutputStream output 변수를 추가해 주시고, 사용 하시면 됩니다.


  OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); // 객체 생성.

  wr.write(URLEncoder.encode(StringData, "UTF-8")); // request body 에 추가할 내용을 담아 줍니다. 

   ("UTF-8" 로 인코딩 적용한 DATA를 request body에 담아 줍니다.)

  wr.flush(); // request body 에 내용을 입력해 줍니다.





참고 : http://stackoverflow.com/questions/2793150/how-to-use-java-net-urlconnection-to-fire-and-handle-http-requests