어떤 특정 주소로 데이터를 보내고 에러가 있을 경우 받아서 콘솔에 출력하는 샘플 코드
public boolean createAccount(String uri, String id, String pw, String email, String userName) {
boolean flag = false;
String userid = email;
userid = userid.substring(0, userid.indexOf("@"));
String message ="";
try {
message = "userId=" + URLEncoder.encode(userid,"UTF-8"); // ex. test1
message += "&userName=" + URLEncoder.encode(userName,"UTF-8"); // ex. 테스터1
message += "&email=" + URLEncoder.encode(email,"UTF-8"); // ex. test1@test.com
message += "&empNo=" + URLEncoder.encode(userid,"UTF-8"); // ex. 12345
} catch (Exception e) {
}
System.out.println(uri);
System.out.println(message);
OutputStreamWriter osw = null;
BufferedReader br = null;
String str = null;
try {
URL url = new URL(uri); // ex. http://192.168.1.123//ws/user/createUser
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setRequestProperty("Authorization", "Basic "+ Base64Coder.encode(id + ":" + pw)); // ex. testid:testpasswd
System.out.println(id);
System.out.println(pw);
System.out.println(Base64Coder.encode(id + ":" + pw));
System.out.println("Basic "+ Base64Coder.encode(id + ":" + pw));
osw = new OutputStreamWriter(connection.getOutputStream());
osw.write(message);
osw.flush();
System.out.println(connection.getResponseCode() + " " + connection.getResponseMessage());
if (connection.getErrorStream() != null) {
br = new BufferedReader(new InputStreamReader(connection.getErrorStream()));
while ((str = br.readLine()) != null) {
System.out.println(str);
}
}
flag = true;
}
catch (Exception e) {
e.printStackTrace();
}
finally {
try { osw.close(); } catch(IOException ie) { ie.printStackTrace(); }
try { br.close(); } catch(IOException ie) { ie.printStackTrace(); }
}
return flag;
}