String myid = "1234",mypw="5678";
public static String defaultUrl = "http://xxxxxxxxx.co.kr/test1.php";
private String request(String urlStr) {
StringBuilder output = new StringBuilder();
try {
URL url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
if (conn != null) {
//conn.setConnectTimeout(10000);
conn.setDefaultUseCaches(false);
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestProperty("content-type", "application/x-www-form-urlencoded");
int resCode = conn.getResponseCode();
if (resCode == HttpURLConnection.HTTP_OK) {
Log.d("shktest","1");
StringBuffer buffer = new StringBuffer();
buffer.append("id").append("=").append(myid);
OutputStreamWriter outStream = new OutputStreamWriter(conn.getOutputStream()); // 여기서 에러 발생
PrintWriter writer = new PrintWriter(outStream);
writer.write(buffer.toString());
writer.flush();
writer.close();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())) ;
String line = null;
- 에러.
07-30 21:29:43.764 790-809/org.androidtown.http E/SampleHTTP﹕ Exception in processing response.
java.net.ProtocolException: cannot write request body after response has been read
at libcore.net.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:203)
at org.androidtown.http.MainActivity$ConnectThread.request(MainActivity.java:110)
at org.androidtown.http.MainActivity$ConnectThread.run(MainActivity.java:75)
07-30 21:29:43.774 790-809/org.androidtown.http W/System.err﹕ java.net.ProtocolException: cannot write request body after response has been read
07-30 21:29:43.774 790-809/org.androidtown.http W/System.err﹕ at libcore.net.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:203)
안녕하세요
Http를 이용하여 POST 방식으로 서버에 ID를 보내 주고 보내준 내용을 그대로 서버에서 받아 App에서 표시해 주는
테스트 코드 입니다만, 위의 코드중(표시한 부분 ) 스트림 아웃에서 앱이 구동될때 에러가 발생하면서 멈춤니다.
서버로 ID를 보내는 부분이 문제인데요. 구글링해도 답을 찾지 못하겠네요.
UI는 핸들러이며, 통신은 스레드 방식으로 구성하였습니다.