Microsoft MVP성태의 닷넷 이야기
Microsoft.XMLHTTP 개체로 XML 이 아닌 다른 데이터 가져오기 [링크 복사], [링크+제목 복사],
조회: 11106
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

보통 Microsoft.XMLHTTP 로 정형화된 XML 텍스트가 아니고서는 결과를 "깨진" 텍스트로 받게 됩니다.
그렇다고... 실제로 데이터가 엉뚱하게 변환되었을 리는 없을 테고.... 그냥 2진 데이터였겠죠.
 
아래의 코드에서 보면, 이진데이터를 아스키 코드로 변환해주는 VBScript 함수를 볼 수 있습니다.
 
그걸로, XMLHTTP::responseBody 속성을 해석해 주면,
정형화되지 않은 일반 텍스트 ( 한글포함 ) 문서까지도 정상적으로 반환받을 수 있습니다.
 
------ 뉴스그룹 보다가 퍼옴 ------
 


<html>
 
<head>
 
<script language=jscript>
function window.onload()
{
 var httpReq = new ActiveXObject( "Microsoft.XMLHTTP" );
 httpReq.open( "GET", "
http://webdic.ybmsisa.com/dic_search.asp", false );
 httpReq.send();
 
 alert( httpReq.responseBody );     // 여기서는 텍스트가 깨진체로 보여지지만.
 var text = BinDecode( httpReq.responseBody ); 
 alert( text );  // 여기서는 일반 ascii 텍스트로 번역되어 정상적으로 출력

}
</script>
 

<script language="vbscript">
'-----------------------------------------
' BinDecode (바이너리 -> 아스키 변환)
' mongmong - 2003. 2
'-----------------------------------------
 Public Function BinDecode(byVal binData)
  Dim i, byteChr, strV
  For i = 1 to LenB(binData)
   byteChr = AscB(MidB(binData,i,2))
   If byteChr > 127 Then
    i = i + 1
    strV = strV & Chr("&H" & Hex(byteChr) & Hex(AscB(MidB(binData,i,2))))
   Else
    strV = strV & Chr(byteChr)
   End if
  Next
  BinDecode = strV
 End Function
</script>
 

</head>
 
<body>
<FONT face="굴림"></FONT>
</body>
 
</html>







[최초 등록일: ]
[최종 수정일: 1/26/2004]


비밀번호

댓글 작성자
 




1  2  [3]  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
1129정성태2/14/201114652.NET : 113. Running .NET applications in-process using AppDomains
1128정성태2/13/201115271개발 환경 구성: 143. Visual Studio 소스 서버 보안 경고창 없애기
1127정성태2/5/201114540개발 환경 구성: 142. Internet Explorer 6, 7, 8, 9 테스트 - 다중 XP Mode
1126정성태1/28/201120199개발 환경 구성: 141. 키보드 매핑을 바꾸는 레지스트리 설정파일 다운로드1
1125정성태12/24/201013519VS.NET IDE : 59. Visual Studio 2010 - 웹 프로젝트의 Web.debug.config / Web.Release.config 기능을 일반 프로젝트에 적용하는 방법
1124정성태11/16/201022226개발 환경 구성: 140. 대용량 파일 고속 전송: Rapidant
1123정성태11/11/201012183Web : 8. IE 9 플랫폼 프리뷰 6 + IE 9 베타
1122정성태11/9/201012724개발 환경 구성: 139. RemoteFX - USB Rediection
1121정성태11/6/201011654.NET : 112. The F# PowerPack, with F# Compiler Source Drops
1120정성태10/20/201013233Web : 7. Internet Explorer - Browser Mode 와 Document Mode
1119정성태10/9/201012382IIS : 32. Steps for setting up a custom identity of an IIS 6 application pool
1118정성태9/17/201011095Web : 6. Internet Explorer 9 Beta Guide for Developers
1117정성태8/25/201011571.NET : 111. Azure CDN Guide Available
1116정성태8/24/201011321Web : 5. IE 9 - UI 보더 변경에 따른 2-pixel 변화
1115정성태6/18/201013117개발 환경 구성: 138. 프로세스 덤프를 하는 다양한 방법
1114정성태6/1/201011496.NET : 110. C#5 and Meta-Programming [1]
1113정성태4/27/201012337VS.NET IDE : 58. Visual Studio 2010에 기본 내장된 WPF Tree Visualizer
1112정성태4/15/201012098개발 환경 구성: 137. How to enable remote connections in SQL Server 2008?
1111정성태4/2/201010474VS.NET IDE : 57. Simulating Peak Load with VS Load Tests
1110정성태3/30/201011418Windows 7: 4. Windows 7 / R2부터 제공되는 NT 서비스 전용 계정
1109정성태3/17/201012182개발 환경 구성: 136. SCVMM에서 VM을 Template로 만들어서 Library에 넣은 후 새로운 VM 배포하기
1107정성태3/1/201011746.NET : 109. .NET 4.0에서 obsolete로 처리되는 타입
1106정성태2/24/201012358IIS : 31. Microsoft Application Request Routing (ARR)과 TFS App Tier
1105정성태2/9/201011485Debug : 46. 프로세스 종료 시 덤프 남기는 방법
1104정성태1/26/201011643Debug : 45. Debugging References with Graph Visualizations
1103정성태11/18/200910749개발 환경 구성: 135. How to Configure WPL v1.0 SRE
1  2  [3]  4  5  6  7  8  9  10  11  12  13  14  15  ...