안드로이드에서 http통신 관련 연습을 하고 있습니다.
서버쪽으로 data값을 전달하려고 하는데 어떻게 해야 될까요??
HttpPost httppost = new HttpPost("http://... .......");
httppost.setHeader(헤더설정);
String param = "<test><a>ccc</a><b>ddd</b></test><";
StringEntity testEntity= new StringEntity(param, "UTF-8");
httppost.setEntity(testEntity);
...
HttpClient hc = new DefaultHttpClient()
HttpResponse response = hc.execute(httppost);
...
이렇게 하니 파라미터가 넘어가는건지 모르겠네요
서버쪽에선 param.test 이런식으로는 안받아지던데;;
StringBuffer buffer = new StringBuffer();
buffer.append("userId").append("=").append("a").append("&");
buffer.append("userPwd").append("=").append("aa").append("&");
OutputStreamWriter outStream = new OutputStreamWriter(http.getOutputStream(), "EUC-KR");
PrintWriter writer = new PrintWriter(outStream);
writer.write(buffer.toString());
writer.flush();
이렇게 넘기면
InputStreamReader tmp = new InputStreamReader(http.getInputStream(), "EUC-KR");
BufferedReader reader = new BufferedReader(tmp);
이런식으로 받아집니다..
그런데 저건 www.naver.com/test?userId=a&userPwd=aa
이런식으로 넘어가는건데
<test>
<a>aaaaa</a>
<b>bbbbb</b>
</test>
이런식으로 data를 넘기려면 어떻게 해야 할까요??;;;;




데이터를 NameValuePair에 setEntity로 보내세요.
예를 들어 파람값이 여러개이면,
List<NameValuePair> nameValuePairs = ArrayList<NameValuePair>(전송파람개수);
//파람개수만큼
nameValuePairs.add(new BasicNameValuePair("파람명",파람값));
httppost.setEntity(new UrlEncodedForm(nameValuePairs,"인코딩타입"));