Загрузите весь контент на удаленной странице одновременно
Используйте метод, сохраните приведенный выше код в качестве, например: downfile.asp
Введите в браузер:
http: // your address/downfile.asp? url = http: //www.baidu.com/index.html
| 'Установите время ожидания Server.ScriptTimeout = 9999 '###################### 'Функция сохранения файла #################### Функция Savetofile (от, тофиль) при ошибке резюме следующим Dim geturl, Objstream, Imgs geturl = trim (от) Mybyval = gethttpstr (geturl) Установить objstream = server.createObject ("adodb.stream") objstream.type = 1 objstream.open objstream.write mybyval objstream.savetofile tofile, 2 objstream.close () Установить objstream = ничего Если err.number0, то err.clear конечная функция '###################### 'Замена обработки персонажа #################### Функция getUrlencodel (byval url) 'преобразование имени китайского файла Dim I, код geturlencodel = "" Если Trim (url) = "" Тогда функция выхода для i = 1 к Len (URL) code = asc (mid (url, i, 1)) Если код Codeif> 255, тогда geturlencodel = geturlencodel & "%" & left (hex (code), 2) и "%" & right (hex (code), 2) еще geturlencodel = geturlencodel & mid (url, i, 1) конец, если следующий конечная функция '###################### 'Xml Получите удаленное начало страницы #################### функция gethttppage (url) при ошибке резюме следующим Dim http Установить http = server.createObject ("msxml2.xmlhttp") Http.open "Get", url, false Http.send () Если http.readystate4, то выход функции gethttppage = bytes2bstr (http.responsebody) Установите http = ничего Если err.number0, то err.clear конечная функция Функция Bytes2BSTR (VIN) Dim Strreturn Dim I, ThisChode, NextChode strreturn = "" Для i = 1 к Lenb (VIN) ThisChode = ASCB (MIDB (VIN, I, 1)) Если этот кардод strreturn = strreturn & chr (thisChode) Еще NextChode = ASCB (MIDB (VIN, I+1,1))) strreturn = strreturn & chr (clng (thisChode) * & h100 + cint (nextcharcode)) i = i + 1 Конец, если Следующий Bytes2bstr = strreturn Конечная функция '###################### 'XML получает удаленную страницу, чтобы закончить, это общая часть всех программ воров #################### '###################### 'Разложить адрес и получить имя файла #################### function getFilename (Byval filename) Если instr (имя файла, "/")> 0 тогда fileeext_a = split (имя файла, "/") getFilEname = lcase (fileExt_a (ubund (fileext_a))))))))))) Если instr (getFileName, "?")> 0 тогда GetFilEname = Left (GetFilEname, instr (getFilename, "?")-1) конец, если еще GetFilEname = имя файла конец, если конечная функция '###################### 'Получить функцию удаленной страницы #################### Функция gethttpstr (url) при ошибке резюме следующим Dim http Установить http = server.createObject ("msxml2.xmlhttp") Http.open "Get", url, false Http.send () Если http.readystate4, то выход функции gethttpstr = http.responsebody Установите http = ничего Если err.number0, то err.clear конечная функция '###################### 'Функция обработки FSO, создать каталог #################### Функция CenectiR (Byval LocalPath) 'Программа, которая создает каталог. Если есть несколько уровней каталогов, создает его по одному уровню за раз. При ошибке резюме следующим Localpath = reply (localpath, "/", "/") Set fileObject = server.createObject ("scripting.filesystemobject") patharr = split (localpath, "/") path_level = ubound (patharr) Для i = 0 to path_level Если i = 0, то pathtmp = patharr (0) & "/" else pathtmp = pathtmp & patharr (i) & "/" CPATH = LEAND (PATHTMP, LEN (PATHTMP) - 1) Если не fileObject.folderexists (cpath), то fileobject.createfolder cpath Следующий Установить FileObject = ничего Если err.number 0, то CenectiR = false Err.clear Еще CenectiR = true Конец, если Конечная функция функция getFileext (byval filename) fileeext_a = split (имя файла, ".") GetFileext = lcase (fileExt_a (ubund (fileext_a))))))))))))) конечная функция '###################### 'Как получить виртуальный путь #################### Функция getVirtual (str, path, urlhead) Если осталось (str, 7) = "http: //" Тогда url = str Elseif Left (str, 1) = "/" Тогда start = instrrev (str, "/") Если старт = 1 тогда url = "/" еще url = слева (str, start) конец, если url = urlhead & url Elseif Left (str, 3) = "../" Тогда str1 = mid (str, instrrev (str, "../")+2) ar = split (str, "../") lv = ubund (ar) +1 ar = split (path, "/") url = "/" для i = 1 до (ubund (ar) -lv) url = url & ar (i) следующий url = url & str1 url = urlhead & url еще url = urlhead & str конец, если getVirtual = url конечная функция |