JAVA/코딩

[JAVA] HttpURLConnection 사용하기

으악꿈 2021. 8. 27. 16:41
728x90
URL url;
HttpURLConnection conn = null;
BufferedReader reader = null;
try {
  url = new URL("url 입력"); // 호출할 url 입력
  conn = (HttpURLConnection) url.openConnection(); // 커넥션 오픈
  if (conn != null) {
    // GET, POST 등
    conn.setRequestMethod("POST"); 
    
    // application/x-www-form-urlencoded, application/json 등
    conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
    
    // 응답받을 데이터가 있는 경우 true
    conn.setDoInput(true);
    
    // 요청시 데이터를 보내야 하는 경우 true
    conn.setDoOutput(true); 
    
    // 만료시간 설정
    conn.setConnectTimeout(10000);
        
    // GET 방식의 경우 url에 같이 추가  ex) http://test.com?type=test
    // POST는 아래 방식으로
    String param = "type=test";
    try (DataOutputStream output = new DataOutputStream(conn.getOutputStream())) {
      // AutoCloseable를 상속받는 경우 이와 같이 선언하면 finally문을 별도로 사용하지 않아도 된다.
      output.writeBytes(param);
      output.flush();
    }
    
    // 응답코드가 200인 경우
    if (HttpURLConnection.HTTP_OK == conn.getResponseCode()) { 
      // 응답 데이터를 받는다.
      reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
      StringBuffer buff = new StringBuffer();
      String line = null;
      while ((line = reader.readLine()) != null) {
        buff.append(line);
      }
      reader.close();
    } else{ // 응답코드가 200인 아닌경우
		
    }
    conn.disconnect();
  }
} catch (Exception e) {
  // 예외처리
} finally {
  if(conn != null) conn.disconnect();
  if(reader != null) reader.close();
}

 

 

728x90