asp 로 웹 페이지 의 그림 주 소 를 자동 으로 분석 합 니 다.
<%function PicStr(str) Set objectRegExp=New Regexp'설정 대상 objectRegExp.IgnoreCase=True'대소 문자 무시 object RegExp.Global=True'를 전체 텍스트 검색 으로 설정 objRegExp.Pattern = "
<%function getHTTPPage(url) on error resume next dim http set http=server.createobject("MSXML 2.XMLHTTP")'xmlhttp 방법 으로 그림 의 내용 을 가 져 옵 니 다. Http.open "GET",url,false Http.send() if Http.readystate<>4 then exit function end if getHTTPPage=Http.responseBody set http=nothing if err.number<>0 then err.clear end function'은 그림 의 내용 을 저장 해 야 한 다 는 느낌 을 주 었 습 니 다.FSO 로 만 들 면 되 는 것 같 지만 실제로는 안 됩 니 다.그러면 프로그램 을 저장 하 는 데 오류 가 발생 합 니 다.FSO 가 스 트림 파일 을 지원 하지 않 기 때문에 다른 대상 을 호출 해 야 합 니 다:ADO.STREM.구체 적 인 과정 은 다음 과 같다.function savemimage(from,tofile) dim geturl,objStream,imgs geturl=trim(from) imgs=gethttppage(geturl)'그림 의 구 휴 내용 을 얻 는 과정 Set objectStream=Server.CreateObject("ADODB.Stream")'ADODB.Stream 대상 을 만 들 려 면 ADO 2.5 이상 버 전이 필요 합 니 다. obj Stream.Type=1'을 바 이 너 리 모드 로 엽 니 다. objStream.Open obj stream.write imgs'문자열 내용 을 버퍼 에 기록 합 니 다. obstream.saveToFile server.mappath(tofile),2'-버퍼 내용 을 파일 에 기록 합 니 다. obj stream.close()'대상 닫 기 set obstream=nothingend function'그래서 방금 얻 은 주소 의 그림 을 한 순환 으로 모두 저장 하면 구체 적 인 과정 은 다음 과 같 습 니 다.arrimg=split(PicStr(str),"|")'문자열 을 나 누 어 안에 있 는 주소 목록 allimg="new img="for i=1 to ubound(arrimg)if arrimg(i)<>"and intr(allimg,arrimg(i)<1 then'이 그림 이 fname=baseurl&cstr(i&mid(arrimg(i),intrrev(arrimg(i),".")saveamage(arrimg(i),fname)'주 소 를 저장 하 는 함수 입 니 다.과정 은 위의 allimg=allimg&"|"&arrimg(i)'이 저 장 된 그림 의 주 소 를 되 돌려 줍 니 다.바 꿀 주 소 를 확인 합 니 다.new img=new img&"|"&fname"로 컬 주 소 를 연결 합 니 다.end ifnext'세 번 째 단 계 는 원래 주 소 를 바 꾸 는 것 입 니 다.구체 적 인 과정 은 다음 과 같다.arrnew=split(new img,"||")'는 원래 의 그림 주소 목록 을 가 져 옵 니 다.arrall=split(allimg,"||")'는 저 장 된 그림 의 주소 목록 for i=1 to ubound(arrnew)'를 가 져 와 원래 의 주 소 를 반복 적 으로 바 꿉 니 다. strs=replace(strs,arrall(i),arrnew(i))next%>