-
C# 우편번호 API 이용하기dev/.net 2013. 10. 28. 22:45
공공데이터포털(https://www.data.go.kr)에 회원 가입 후 API Key를 발급 받아야 한다.
새주소 이용 방법
const string ServiceUrl = "http://openapi.epost.go.kr/postal/retrieveNewAdressService/retrieveNewAdressService/getNewAddressList"; string ServiceKey = "발급받은 키를 입력 한다."; string xml; WebClient wc = new WebClient() { Encoding = Encoding.UTF8 }; ServiceKey = HttpUtility.UrlEncode(ServiceKey, Encoding.GetEncoding("UTF-8")); srchwrd = HttpUtility.UrlEncode(srchwrd, Encoding.GetEncoding("UTF-8")); string qry = String.Format("{0}?searchSe={1}&srchwrd={2}&serviceKey={3}&encoding=UTF-8" , ServiceUrl, searchSe, srchwrd, ServiceKey); xml = wc.DownloadString(new Uri(qry));
구주소 이용 방법
const string ServiceUrl = "http://openapi.epost.go.kr/postal/retrieveLotNumberAdressService/retrieveLotNumberAdressService/getDetailList"; string ServiceKey = "발급받은 키를 입력 한다."; string xml; WebClient wc = new WebClient() { Encoding = Encoding.UTF8 }; ServiceKey = HttpUtility.UrlEncode(ServiceKey, Encoding.GetEncoding("UTF-8")); srchwrd = HttpUtility.UrlEncode(srchwrd, Encoding.GetEncoding("EUC-KR")); srchwrd = HttpUtility.UrlDecode(srchwrd, Encoding.GetEncoding("ISO-8859-1")); srchwrd = HttpUtility.UrlEncode(srchwrd, Encoding.GetEncoding("UTF-8")); string qry=String.Format("{0}?searchSe={1}&srchwrd={2}&serviceKey={3}", ServiceUrl, searchSe, srchwrd, ServiceKey); xml = wc.DownloadString(new Uri(qry));
구주소 저놈의 인코딩 맞춰 주느라 쌩쇼를 했다.
인코딩을 제대로 맞춰 주지 않으면 검색결과가 없다라는 메시지만 나온다.
저따구로 인코딩을 꼭 해야만 하는 이유라도 있는거냐? 진심 궁금하다.
문서라고 올려놓은 곳에는 인코딩에 대한 말도 하나도 없고.개판 이고만.
댓글