Remark : Msxml2.XMLHTTP 와 Msxml2.ServerXMLHTTP.6.0 의 차이
1. Msxml2.XMLHTTP (버전을 쓰지 않으면 셋업된 최신버전으로 자동 사용 6.0)
win 로컬용으로 WinInet, URLMon 용으로, http/ https 2가지 방법으로 가져올 수 있다.
win 서버용으로 사용시 업데이트(Msxml6) 후 msxml3.dll 오류 ‘800c0005’ 오류 발생 할 경우 = Msxml2.ServerXMLHTTP.6.0 사용
1 2 3 4 5 6 7 8 9 10 11 12 13 |
function airline(code) { var decode = code; var xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); //Local //var xmlHttp = new ActiveXObject("Msxml2.ServerXMLHTTP.6.0"); //Server xmlHttp.open( "GET", "https//data.test.com/airline?code=" + code, false ); xmlHttp.send( null ); decode = xmlHttp.responseText; return decode; } |
2. Msxml2.ServerXMLHTTP.6.0
win 서버용으로 WinHTTP용으로, 외부 데이타는 https / http 상관없으나 서버용으로 돌려야 하고 로컬에서 돌리면 경고 창이 발생하다. 예(Y) 로 하면 프로그램이 정상적으로 진행 된다.
그러나 win 서버용이 https 를 사용하면 외부 데이타도 https 로 가져와야 한다. (신뢰성을 강화한 조치이다.)
반대로 Msxml2.XMLHTTP 로 http/ https 로 접속 하면 Windows 보안 경고 창이 발생하지 않는다.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
function airline(code) { var decode = code; //var xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); //Local var xmlHttp = new ActiveXObject("Msxml2.ServerXMLHTTP.6.0"); //Server xmlHttp.open( "GET", "https//data.test.com/airline?code=" + code, false ); xmlHttp.send( null ); decode = xmlHttp.responseText; return decode; } |
참조 : https://blog.srpcs.com/picking-the-correct-xmlhttp-object/