티스토리 뷰

*발단

특정 기관의 api를 호출한 결과 데이터를 DB에 삽입하여 관리하고 있으나 특정 시점부터 데이터가 들어오지 않는 현상이 발생.


*원인 파악

exception을 제대로 걸지 않은 것인지 log레벨에 맞지 않은 것인지 log 파일에서는 관련된 부분을 확인할 수 없었음.

아래 소스와 같이 로컬상에 api 끌어오는 부분을 구현하여 결과값을 output 하는 것으로 결정.

 

[호출 테스트]

//예시용도 호출 api url
String fullUrl = "http://jckim-dev.tistory.com/apiTest";
        
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
 
BufferedReader tempBufferedReader = null;
BufferedReader bufferedReader = null;
InputStream inputStream = null;
 
conn.setDoOutput(true);
conn.setRequestMethod("GET");
 
tempBufferedReader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "euc-kr"));
String tempStr = "";
StringBuilder bufferedStr = new StringBuilder();
 
while ((tempStr = tempBufferedReader.readLine()) != null) {
  bufferedStr.append(tempStr).append("\n");
}
 
inputStream = new ByteArrayInputStream(bufferedStr.toString().getBytes());
bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
 
System.out.println("===============================");
System.out.println(bufferedStr.toString());

 

[조치 전 호출 결과]

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head>
    <title>301 Moved Permanently</title>
</head>
<body>
    <h1>Moved Permanently</h1>
    <p>The document has moved <a href="https://jckim-dev.tistory.com/apiTest">here</a>.</p>
</body>
</html>
 

문제가 되었던 api를 호출하였을 때 301 응답 코드가 발생한 것을 확인하였고 친절하게 어떠한 URL로 변경되었다고 메시지까지 확인할 수 있었음.

메시지는 기존 url의 콘텐츠는 새로운 url로 옮겨졌으니 해당 url로 호출하라는 내용이었음.

 

˚http 응답 코드 301 (영구 이동): 요청한 페이지를 새 위치로 영구적으로 이동했다. GET 또는 HEAD 요청에 대한 응답으로 이 응답을 표시하면 요청자가 자동으로 새 위치로 전달된다. 참조자료


*조치

해당 기관이 http에서 https로 제공하도록 변경된 것으로 확인.

api를 호출하는 로직에서는 해당 결과를 확인할 수 없었기 때문에 원인 파악에 어려움이 있었음.

api url을 기존 http에서 https로 호출.

추가적으로 방화벽을 관리하고 있다면 https로 호출 시 443 포트가 열려있는지 확인 필요.

 

[조치 후 결과]

 

<?xml version="1.0" encoding="UTF-8" ?>
<document>
    <root>
        <result>        
            ...
            ...
            ...
        </result>
    </root>
</document>
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함