귀찮아서가끔하는블로그

[JAVA] by pass 통신 본문

JAVA

[JAVA] by pass 통신

Y-unknow94 2022. 5. 9. 19:56
반응형
/**
 * by pass 통신
 * 
 * @param url, data, option(GET/POST)
 * @return ResponseEntity<String> 성공여부
 */
public JSONObject byPass(String url, JSONObject jsonData, String option) {
    Log.TraceLog("***************** BY PASS START*****************");
    JSONObject responseJson = new JSONObject();
    try {
        // 연결할 url 생성
        URL start_object = new URL(url);
        Log.TraceLog("CONNECT URL :" + url);

        // http 객체 생성
        HttpURLConnection start_con = (HttpURLConnection) start_object.openConnection();
        start_con.setDoOutput(true);
        start_con.setDoInput(true);

        // 설정 정보
        start_con.setRequestProperty("Content-Type", "application/json");
        start_con.setRequestProperty("Accept", "application/json");
        start_con.setRequestMethod(option);

        // data 전달
        Log.TraceLog("REQUEST DATA : " + jsonData);

        // 출력 부분
        OutputStreamWriter wr = new OutputStreamWriter(start_con.getOutputStream());
        wr.write(jsonData.toString());
        wr.flush();

        // 응답 받는 부분
        StringBuilder start_sb = new StringBuilder();
        int start_HttpResult = start_con.getResponseCode();

        // 결과 성공일 경우 = HttpResult 200일 경우
        if (start_HttpResult == HttpURLConnection.HTTP_OK) {
            BufferedReader br = new BufferedReader(new InputStreamReader(start_con.getInputStream(), "utf-8"));
            String line = null;
            while ((line = br.readLine()) != null) {
                start_sb.append(line);
            }
            responseJson.put("data", start_sb);
            responseJson.put("result", "SUCCESS");
            br.close();
            Log.TraceLog("***************** BY PASS SUCCESS *****************");
            return responseJson;
        } else {
            // 그 외의 경우(실패)
            Log.TraceLog("***************** BY PASS FAIL *****************");
            responseJson.put("result", "FAIL");
            return responseJson;
        }
    } catch (Exception e) {
        Log.TraceLog("***************** BY PASS FAIL Exception *****************");
        Log.TraceLog(e.toString());
        responseJson.put("result", "EXCEPTION");
        return responseJson;
    }
}
반응형
Comments