Descargue todo el contenido en la página remota a la vez
Use el método, guarde el código anterior como A, por ejemplo: Downfile.asp
Ingrese en el navegador:
http: // su dirección/downfile.asp? url = http: //www.baidu.com/index.html
| 'Establezca el tiempo de tiempo de espera Server.scripttimeout = 9999 '##################### 'Función de guardar archivo '################### función savetofile (desde, tofile) En el currículum de error siguiente Dim geturl, objstream, imgs getURL = TRIM (de) Mybyval = gethttpstr (geturl) Establecer objstream = server.createObject ("ADODB.Stream") objstream.type = 1 objstream. objstream.write mybyval objstream.savetofile tofile, 2 objstream.close () establecer objstream = nada si err.number0 entonces err.clear función final '##################### 'Reemplazo de procesamiento de personajes '################### función getUrlencodel (URL BYVAL) 'Conversión de nombre de archivo chino Dim I, código getUrlencodel = "" if trim (url) = "" entonces salga de la función Para i = 1 a Len (URL) código = ASC (Mid (URL, I, 1)) Si CodeIF Code> 255 entonces getUrlencodel = getUrlencodel & "%" & Left (hex (código), 2) y "%" y derecha (hex (código), 2) demás getUrlencodel = getUrlencodel & Mid (url, i, 1) final si próximo función final '##################### 'XML Get Remote Page Start '################### función gethttppage (URL) En el currículum de error siguiente Dim http Establecer http = server.createObject ("msxml2.xmlhttp") Http.open "Get", URL, falso Http.send () Si http.readyState4, entonces salga de la función gethttppage = bytes2bstr (http.ResponseBody) Establecer http = nada si err.number0 entonces err.clear función final Función bytes2bstr (vin) Dim strreturn Dim I, ThisCharCode, NextCharcode strreturn = "" Para i = 1 a Lenb (vin) ThisCharCode = ASCB (MidB (Vin, I, 1)) If thisCharCode strreturn = strreturn & chr (thisCharCode) Demás Nextcharcode = ascb (midb (vin, i+1,1)) strreturn = strreturn & chr (clng (thisCharCode) * & H100 + cint (nextcharcode))) i = i + 1 Final si Próximo bytes2bstr = strreturn Función final '##################### 'XML consigue que la página remota finalice, esta es una parte común de todos los programas de ladrones '################### '##################### 'Descompone la dirección y obtenga el nombre del archivo '################### función getFileName (nombre de archivo BYVAL) if instr (nombre de archivo, "/")> 0 entonces fileExt_a = split (nombre de archivo, "/") getFileName = lcase (fileext_a (ubund (fileext_a)))) Si Instr (getFileName, "?")> 0 entonces getFileName = Left (getFileName, instr (getFileName, "?")-1) final si demás getFileName = FileName final si función final '##################### 'Obtener la función de página remota '################### función gethttpstr (URL) En el currículum de error siguiente Dim http Establecer http = server.createObject ("msxml2.xmlhttp") Http.open "Get", URL, falso Http.send () Si http.readyState4, entonces salga de la función gethttpstr = http.ResponseBody Establecer http = nada si err.number0 entonces err.clear función final '##################### 'Función de procesamiento de FSO, Crear directorio '################### Función CreateIR (BYVAL LocalPath) 'El programa que crea un directorio. Si hay múltiples niveles de directorios, lo crea un nivel a la vez. En el currículum de error siguiente LocalPath = reemplazar (localpath, "/", "/") Establecer fileObject = server.createObject ("scripting.filesystemObject") Patharr = Split (LocalPath, "/") Path_level = Ubound (Patharr) Para i = 0 a path_level If i = 0 entonces pathtmp = patharr (0) & "/" else pathtmp = pathtmp & patharr (i) & "/" cpath = izquierda (pathtmp, len (pathtmp) - 1) Si no es fileObject.FoldeExists (CPATH), entonces FileObject.CreateFolder CPATH Próximo Establecer fileObject = nada Si Err.number 0 entonces Creationir = falso Err.Clear Demás Creationir = true Final si Función final función getFileExt (nombre de archivo BYVAL) fileExt_a = split (nombre de archivo, ".") GetFileExt = lcase (fileext_a (ubund (fileext_a)))) función final '##################### 'Cómo obtener la ruta virtual '################### función getVirtual (str, ruta, urlhead) Si se deja (str, 7) = "http: //" entonces url = str elseif izquierdo (str, 1) = "/" Entonces start = instrrev (str, "/") Si inicia = 1 entonces url = "/" demás url = izquierda (str, inicio) final si url = urlhead y url elseif izquierdo (str, 3) = "../" Entonces str1 = mid (str, instrrev (str, "../")+2) ar = split (str, "../") lv = ubund (ar) +1 ar = split (ruta, "/") url = "/" para i = 1 a (ubund (ar) -lv) url = url y ar (i) próximo URL = URL y STR1 url = urlhead y url demás url = urlhead y str final si getVirtual = url función final |