'************************************************ * ******************************
'함수(공개)
'이름: 원격 가져오기 기능
'기능: XMLHTTP를 사용하여 원격으로 데이터 캡처
'매개변수: sMethod --- 전송 방법
' sUrl ------ 대상 주소
' iMode ----- 반환 콘텐츠 유형: 0은 바이너리, 1은 텍스트, 2는 쿠키, 3은 파일 헤더 정보
' sBase ----- 인코딩 설정
' sReferer -- 소스 설정
' sCookie --- 쿠키 설정
' sLanguage - 언어 설정
' sData ----- 전송할 매개변수를 설정합니다.
' sContent -- 수신 데이터 유형 설정
' sAgent ---- 브라우저 설정
' sEncoding - gzip 압축 설정
' sAccept --- 문서 유형 설정
'************************************************ * ******************************
공개 함수 SenFe_StealData(sMethod, sUrl, iMode, sBase, sReferer, sCookie, sLanguage, sData, sContent, sAgent, sEncoding, sAccept)
Dim oXmlHttp : oXmlHttp = Server.CreateObject(Msxml2.ServerXMLHTTP)로 설정
oXmlHttp 사용
sMethod=이면 sMethod = GET
.Open sMethod, sUrl, False
'페이지 소스 설정
sReferer<>그러면
.SetRequestHeaderReferer, sReferer
또 다른
.SetRequestHeader 참조자, Split(sUrl, /)(2)
종료 조건
sCookie<>이면 .SetRequestHeader 쿠키, sCookie '쿠키 설정
If sLanguage<> Then .SetRequestHeader Accept-Language, sLanguage '언어 설정
If sData<> Then .SetRequestHeader Content-Length, Len(sData) '데이터 길이 설정
If sContent<> Then .SetRequestHeader Content-Type, sContent '허용되는 데이터 유형 설정
If sAgent<> Then .SetRequestHeader User-Agent, sAgent '브라우저 설정
sEncoding<>이면 .SetRequestHeader Accept-Encoding, sEncoding 'gzip 압축 설정
sAccept<>이면 .SetRequestHeader Accept, sAccept '문서 유형
.sData 보내기
'.ReadyState <> 4 동안
' .WaitForResponse 1000
'향하게 하다
.ReadyState<>4 또는 .Status<>200이면
SenFe_StealData = 데이터를 검색할 수 없습니다!
종료 기능
종료 조건
케이스 iMode 선택
사례 0 SenFe_StealData = .ResponseBody
사례 1
sBase<>그러면
SenFe_StealData = BytesToBstr(.ResponseBody, sBase)
또 다른
SenFe_StealData = .ResponseText
종료 조건
사례 2 SenFe_StealData = .getResponseHeader(Set-Cookie)
그렇지 않은 경우 SenFe_StealData = .getAllResponseHeaders()
선택 종료
끝
기능 종료
'************************************************ * ******************************
'기능: 인코딩 변환
'매개변수: sBody - 변환할 콘텐츠
' sCset - 인코딩
'************************************************ * ******************************
함수 BytesToBstr(sBody, sCset)
오아도스와 함께
.유형 = 1
.모드 = 3
.열려 있는
.sBody 쓰기
.위치 = 0
.유형 = 2
.Charset = sCset
BytesToBstr = .ReadText
.닫다
끝
기능 종료