<%
'------------콘텐츠를 원격으로 가져오고 모든 파일을 포함하여 콘텐츠를 로컬 컴퓨터에 저장하세요! ----------
'---------------xmlhttp 및 adodb.stream 사용----
'오류 발생 시 다음 재개
'----------------------출력 형식 정의------------ ------ ---------------
경로=요청(경로)
경로 = 다음인 경우
경로=http://pcqc.86516.com/index.asp
'여기에 정의된 URL은 Baidu입니다. 파일 접미사가 있어야 합니다.
종료하면
sPath = 경로
왼쪽(lcase(경로),7) <> http://이면
'---------------앞에 http가 없으면 로컬 파일이므로 LocalFile로 넘겨서 처리------------
로컬파일(경로)
또 다른
'-------------그렇지 않으면 원격 파일이므로 RemoteFile에 의해 처리됩니다------------ --------
원격파일(경로)
종료하면
'응답.쓰기 오류.설명
'---------------처리 기능----------
하위 로컬파일(경로)
'------로컬 파일인 경우 해당 페이지로 이동합니다------------------- -
'응답.리디렉션 경로
Response.write에서 오류가 발생했습니다!
서브 끝
하위 원격파일(sPath)
'----------------------원격 파일 처리 기능------------ ---- ----------
FileName = GetFileName(sPath)
'---------------GetFileName은 주소를 정규화된 파일 이름으로 변환하는 프로세스입니다------------
FileName = Server.MapPath(캐시/ & 파일 이름)
objFso = Server.CreateObject(Scripting.FileSystemObject) 설정
'응답.파일 이름 쓰기
if objFso.FileExists(FileName) 그런 다음
'-------------파일에 접근했는지 확인하고, 그렇다면 간단히 점프하세요---------
응답.리디렉션 캐시/ & GetFileName(경로)
또 다른
'-------------그렇지 않으면 GetBody 함수를 사용하여 먼저 읽으십시오---------
'응답.쓰기 경로
t = GetBody(경로)
'------바이너리 방법을 사용하여 브라우저에 쓰기---------- -------- --
응답.BinaryWrite t
응답.플러시
'------출력 버퍼링------------------------------- --- ----------
SaveFile t,GetFileName(경로)
'------다음 액세스를 위해 파일 내용을 로컬 경로에 캐시합니다---------
다음과 같은 경우 종료
objFso = 아무것도 설정하지 않음
서브 끝
함수 GetBody(url)
'------------이 기능은 원격으로 콘텐츠를 가져오는 기능입니다---- ---
'오류 발생 시 다음 재개
'응답.URL 쓰기
검색 설정 = CreateObject(Microsoft.XMLHTTP)
'---------XMLHTTP 객체 생성------------ -----
검색 포함
.Open Get, url, False, ,
'------Get을 사용하여 비동기 방식으로 보내기----------
.보내다
'GetBody = .ResponseText
GetBody = .ResponseBody
'------함수는 획득한 콘텐츠를 반환합니다----------------------------
끝
검색 설정 = 없음
'응답.쓰기 오류.설명
기능 종료
함수 GetFileName(str)
'---------------이 함수는 정규화된 파일 이름 함수입니다--------------- - ---
str = 바꾸기(lcase(str),http://,)
str = 바꾸기(lcase(str),//,/)
str = 바꾸기(str,?,)
str = 바꾸기(str,&,)
str = 바꾸기(str,/,)
str = 대체(str,vbcrlf,)
GetFileName = str
기능 종료
하위 저장파일(str,fName)
'---------------이 함수는 스트림 내용을 저장하는 함수입니다------------- - ----
'오류 발생 시 다음 재개
objStream = Server.CreateObject(ADODB.Stream) 설정
'---------------ADODB.Stream 개체를 생성하려면 ADO 버전 2.5 이상이 필요합니다---------
'objStream.Type = adTypeBinary
objStream.Type = 1
'-------------바이너리 모드로 열기------------------- -----
objStream.Open
objstream.write 문자열
'--------------------------문자열 내용을 버퍼에 쓰기---------------- ---------- ----
'응답.F이름 쓰기
'경로 주의
objstream.SaveToFile E:/webroot/pcqc/vip/UploadFile/cache/&fName,2
'objstream.SaveToFile d:/cache/ & fName,adSaveCreateOverWrite
'-------------버퍼링된 내용을 파일에 쓰기---- -------- ----
'응답.BinaryWrite objstream.Read
objstream.Close()
objstream = 아무것도 설정하지 않음
'------------객체를 닫고 리소스를 해제합니다------- - ----
'응답.쓰기 오류.설명
하위 종료
함수 saveimage(from,tofile)
희미한 geturl,objStream,imgs
geturl=트림(from)
imgs=gethttppage(geturl)'이미지의 특정 내용을 얻는 과정
Set objStream = Server.CreateObject(ADODB.Stream)' ADODB.Stream 개체를 생성하려면 ADO 2.5 이상이 필요합니다.
objStream.Type =1'바이너리 모드로 열기
objStream.Open
objstream.write imgs'는 문자열 내용을 버퍼에 씁니다.
objstream.SaveToFile server.mappath(tofile),2'-버퍼링된 내용을 파일에 씁니다.
objstream.Close()'객체 닫기
objstream=아무것도 설정하지 않음
종료 기능
%>