<%
WS_URL = "http://ws.didim365.com/address/addrnew.aspx"
'
' 각 옵션에 대한 자세한 사항은 http://ws.didim365.com/address/docs.aspx 페이지 참고
'
' 시/도 선택
GET_URL = WS_URL & "?sd="
' 시/군/구
GET_URL = GET_URL & "&sg="
' 결과형식
GET_URL = GET_URL & "&r=x"
' 인코딩(UTF-8)
GET_URL = GET_URL & "&enc=utf-8"
' 인코딩(EUC-KR)
' GET_URL = GET_URL & "&enc=euc-kr"
' 검색어(UTF-8) (도로명/동/리/건물명)
GET_URL = GET_URL & "&k=" & "가산디지털1로 51"
' 검색어(EUC-KR) (도로명/동/리/건물명)
' GET_URL = GET_URL & "&k=" & Server.URLEncode("가산디지털1로 51")
' 결과에 도로명 주소 포함여부
GET_URL = GET_URL & "&dr=t"
' 결과에 지번주소 포함 여부
GET_URL = GET_URL & "&jb=f"
' 결과에 도로명 영문주소 포함 여부
GET_URL = GET_URL & "&de=f"
' 결과에 대량배달/건물명 포함여부
GET_URL = GET_URL & "&bn=t"
' 결과에서 건물번호/지번 정보 제외
GET_URL = GET_URL & "&sp=f"
' 회원 인증키
' 회원 전용 사이트 -> 회원 정보 관리 -> "API 인증키" 사용
GET_URL = GET_URL & "&key=<회원인증키>"
Set objXmlHttp = server.CreateObject("Msxml2.ServerXMLHTTP.3.0")
objXmlHttp.open "GET", GET_URL, false
objXmlHttp.send
strResponseText = objXmlHttp.responseText
Set objXmlHttp = Nothing
Set objXml = Server.CreateObject("microsoft.XMLDOM")
objXml.async = false
objXml.loadXML(strResponseText)
' Result : 처리 성공="True", 처리 실패="False"
Result = objXml.SelectSingleNode("/Didim365-Address/Result").Text
' Message : 처리 실패인 경우 에러 메시지
Message = objXml.SelectSingleNode("/Didim365-Address/Message").Text
Response.Write("처리 결과 : " & Result & "<br />")
Response.Write("메시지 : " & Message & "<br />")
If Result = "True" Then
' Count : 처리 성공인 경우 검색된 주소 카운트
Count = objXml.SelectSingleNode("/Didim365-Address/Count").Text
Response.Write("카운트 : " & Count & "개의 주소가 검색 되었습니다.<br /><br />")
Set AddrItems = objXml.selectNodes("/Didim365-Address/Data/Item")
For Each Addr In AddrItems
' <항상 포함>
' ZipNo : 우편번호
' <옵션에 따라 포함>
' Doro : 도로명 주소
' DoroEn : 도로면 영문 주고
' JiBun : 지번주소
ZipNo = Addr.SelectSingleNode("ZipNo").Text
Doro = Addr.SelectSingleNode("Doro").Text
Response.Write ( ZipNo & " : " & Doro & "<br />")
Next
End If
Set objMsXmlDom = Nothing
%>
<?
// xmlParse.php 파일은 아래 사이트에서 PHP4/5 용 파일 다운로드 가능 합니다.
// https://www.cikorea.net/bbs/view/source?idx=7442 (php4.zip)
include "xmlParse.php";
$WS_URL = "http://ws.didim365.com/address/addrnew.aspx";
/*
* 각 옵션에 대한 자세한 사항은 http://ws.didim365.com/address/docs.aspx 페이지 참고
*/
// 시/도 선택
$GET_URL = $WS_URL . "?sd=";
// 시/군/구
$GET_URL .= "&sg=";
// 결과형식
$GET_URL .= "&r=x";
// 인코딩(UTF-8)
$GET_URL .= "&enc=utf-8";
// 인코딩(EUC-KR)
//$GET_URL .= "&enc=euc-kr";
// 검색어(UTF-8) (도로명/동/리/건물명)
$GET_URL .= "&k=" . urlencode((iconv("EUC-KR","UTF-8","가산 디지털1로 51")));
// 검색어(EUC-KR) (도로명/동/리/건물명)
// $GET_URL .= "&k=" . urlencode("가산 디지털1로 51");
// 결과에 도로명 주소 포함여부
$GET_URL .= "&dr=t";
// 결과에 지번주소 포함 여부
$GET_URL .= "&jb=f";
// 결과에 도로명 영문주소 포함 여부
$GET_URL .= "&de=f";
// 결과에 대량배달/건물명 포함여부
$GET_URL .= "&bn=t";
// 결과에서 건물번호/지번 정보 제외
$GET_URL .= "&sp=f";
// 회원 인증키
// 회원 전용 사이트 -> 회원 정보 관리 -> "API 인증키" 사용
$GET_URL .= "&key=<회원인증키>";
// 캐쉬가 안되도록 하기 위한 타임스탬프값 (캐쉬 방지 용으로 실제 사용하지는 않는 값입니다.)
$GET_URL .= "&ts=" . time();
$ch = cURL_init();
cURL_setopt($ch, CURLOPT_URL, $GET_URL);
cURL_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = cURL_exec($ch);
cURL_close($ch);
$parser = new XMLParser($response);
$parser->Parse();
$doc_el = $parser->document;
// result : 처리 성공="True", 처리 실패="False"
$Result = $doc_el->result[0]->tagData;
// message : 처리 실패인 경우 에러 메시지
$Message = $doc_el->message[0]->tagData;
echo ("처리 결과 : " . $Result . "<br />");
echo ("메시지 : " . $Message . "<br />");
if ($Result == "True")
{
// count : 처리 성공인 경우 검색된 주소 카운트
$Cnt = $doc_el->count[0]->tagData;
echo ("카운트 : " . $Cnt . "개의 주소가 검색 되었습니다.<br /><br />");
foreach($doc_el->data[0]->item as $item)
{
// <항상 포함>
// zipno : 우편번호
// <옵션에 따라 포함>
// doro : 도로명 주소
// doroen : 도로면 영문 주고
// jibun : 지번주소
$ZipNo = $item->zipno[0]->tagData;
$Doro = $item->doro[0]->tagData;
// (EUC-KR 일 경우 아래코드 주석처리)
$Doro = iconv("UTF-8","EUC-KR", $Doro);
echo ( $ZipNo . " : " . $Doro . "<br />");
}
}
?>
<%@ Page Language="C#" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>새주소 검색 서비스</title>
</head>
<body>
<form id="form1" runat="server">
<%
string WS_URL = "http://ws.didim365.com/address/addrnew.aspx";
//
// 각 옵션에 대한 자세한 사항은 http://ws.didim365.com/address/docs.aspx 페이지 참고
//
// 시/도 선택
string GET_URL = WS_URL + "?sd=";
// 결과형식
GET_URL = GET_URL + "&sg=";
// 결과형식
GET_URL = GET_URL + "&r=x";
// 인코딩(UTF-8)
GET_URL = GET_URL + "&enc=utf-8";
// 인코딩(EUC-KR)
// GET_URL = GET_URL + "&enc=euc-kr";
// 검색어(UTF-8) (도로명/동/리/건물명)
GET_URL = GET_URL + "&k=" + HttpUtility.UrlEncode("가산디지털1로 51");
// 검색어(EUC-KR) (도로명/동/리/건물명)
// GET_URL = GET_URL + "&k=" + HttpUtility.UrlEncode("가산디지털1로 51", Encoding.GetEncoding("euc-kr"));
// 결과에 도로명 주소 포함여부
GET_URL = GET_URL + "&dr=t";
// 결과에 지번주소 포함 여부
GET_URL = GET_URL + "&jb=f";
// 결과에 도로명 영문주소 포함 여부
GET_URL = GET_URL + "&de=f";
// 결과에 대량배달/건물명 포함여부
GET_URL = GET_URL + "&bn=t";
// 결과에서 건물번호/지번 정보 제외
GET_URL = GET_URL + "&sp=f";
// 회원 인증키
// 회원 전용 사이트 -> 회원 정보 관리 -> "API 인증키" 사용
GET_URL = GET_URL + "&key=<회원인증키>";
string ret = "";
using (System.Net.WebClient wc = new System.Net.WebClient())
{
byte[] bRet = wc.DownloadData(GET_URL);
// 인코딩(UTF-8)
ret = Encoding.UTF8.GetString(bRet);
// 인코딩(EUC-KR)
// ret = Encoding.GetEncoding("euc-kr").GetString(bRet);
ret = HttpUtility.HtmlDecode(ret);
}
System.Xml.XmlDocument xmlAddr = new System.Xml.XmlDocument();
xmlAddr.LoadXml(ret);
if (xmlAddr != null)
{
System.Xml.XmlElement docAddr = xmlAddr.DocumentElement;
// Result : 처리 성공="True", 처리 실패="False"
string Result = docAddr.SelectSingleNode("Result").InnerText;
// Message : 처리 실패인 경우 에러 메시지
string Message = docAddr.SelectSingleNode("Message").InnerText;
Response.Write("처리 결과 : " + Result + "<br />");
Response.Write("메시지 : " + Message + "<br />");
if (Result == "True")
{
// Count : 처리 성공인 경우 검색된 주소 카운트
string Count = docAddr.SelectSingleNode("Count").InnerText;
Response.Write("카운트 : " + Count + "개의 주소가 검색 되었습니다.<br /><br />");
System.Xml.XmlNodeList addrItems = docAddr.SelectNodes("Data/Item");
foreach (System.Xml.XmlNode item in addrItems)
{
/*
<항상 포함>
ZipNo : 우편번호
<옵션에 따라 포함>
Doro : 도로명 주소
DoroEn : 도로면 영문 주고
JiBun : 지번주소
*/
string ZipNo = item.SelectSingleNode("ZipNo").InnerText;
string Doro = item.SelectSingleNode("Doro").InnerText;
Response.Write(ZipNo + " : " + Doro + "<br />");
}
}
}
%>
</form>
</body>
</html>