먼저 코드 올립니다.
URL url = new URL("https://dapi.kakao.com/v2/local/geo/transcoord.json?x="+tmX+"&y="+tmY"&input_coord=WTM&output_coord=WGS84"+"Authorization=KakaoAK "+DAUM_KEY);
URLConnection con = url.openConnection
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(), “UTF-8”));
String inLine;
String returnLine = “”;
while((inLine = br.readLin()) != null){
returnLine += inLine+"\n";
}
br.close();
WTM좌표를 입력하여 WGS84로 변환하는 소스를 구현했습니다.
위의 소스를 이용하면
“javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative DNS name matching dapi.kakao.com found.”
에러 메시지가 나오고 그에 따른 해결책으로
URLConnection을 httpsURLConnection으로 변경하고 connection 하기 전에
HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier(){
public boolean verify(String a, SSLSession ssl){
return true;
}
});
를 이용하여 DNS 체크시 무조건 true로 반환하도록 변경하였더니 IOException이 떨어집니다. 에러메시지 내용으로는
java.io.IOException: Server returned HTTP response code: 502 for URL: https://dapi.kakao.com/v2/local/geo/transcoord.json?x=184831.7935341459&y=451114.1696516846&input_coord=WTM&output_coord=WGS84&Authorization=KakaoAK {DAUM_KEY}
라고 나옵니다.
해당 URL을 사이트 주소창에 넣었더니 {“errorType”:“AccessDeniedError”,“message”:“cannot find appkey”} 라고 나옵니다.
appkey를 넘겨주는 방식에 문제가 있는건지 키값이 잘못된건지 궁금합니다.