<%
'----------Obtenez le contenu à distance et stockez-le sur l'ordinateur local, y compris tous les fichiers ! ----------
'-------------------Utilisation de xmlhttp et adodb.stream-----------------
'En cas d'erreur, reprendre ensuite
'---------------------------------Définir le format de sortie------------ ------ ---------------
chemin=demande(chemin)
si chemin = alors
chemin = http://pcqc.86516.com/index.asp
'L'URL définie ici est Baidu, veuillez noter qu'il doit y avoir un suffixe de fichier
finir si
sChemin = Chemin
si gauche(lcase(chemin),7) <> http:// alors
'-------------S'il n'y a pas de http devant, il s'agit d'un fichier local et il est transmis à LocalFile pour traitement------------
FichierLocal(chemin)
autre
'------------------------------Sinon, il s'agit d'un fichier distant et sera géré par RemoteFile-------------- ---------
Fichier distant (Chemin)
finir si
'Réponse.Écrire erreur.Description
'-------------Fonction de traitement--------------
sous-FichierLocal (Chemin)
'------------------S'il s'agit d'un fichier local, passez simplement à la page------------------ -
'Réponse.Chemin de redirection
Une erreur s'est produite dans Response.write !
Fin du sous-marin
SubRemoteFile(sPath)
'---------------------------------Fonction de traitement de fichiers à distance------------ ----------------- ----------
NomFichier = GetFileName(sPath)
'-------------GetFileName est le processus de conversion d'une adresse en un nom de fichier qualifié-------------
FileName = Server.MapPath (Cache/ & FileName)
Définir objFso = Server.CreateObject (Scripting.FileSystemObject)
'Réponse.Écrire le nom du fichier
si objFso.FileExists(FileName) Alors
'-------------Vérifiez si le fichier a été consulté, si c'est le cas, sautez simplement-------------------------
Cache Response.Redirect/ & GetFileName (chemin)
Autre
'-------------Sinon, utilisez la fonction GetBody pour le lire en premier-------------------------
'Réponse.Écrire le chemin
t = ObtenirCorps(Chemin)
'-----------------Utilisez la méthode binaire pour écrire dans le navigateur------------------------ -------- --
Réponse.BinaryWrite t
Réponse.Flush
'-----------------Tampon de sortie-------------------------------------------- --- ----------
SaveFile t, GetFileName (chemin)
'------------------Mettez en cache le contenu du fichier dans un chemin local pour le prochain accès--------------
Terminer si
Définir objFso = Rien
Fin du sous-marin
Fonction GetBody(url)
'-----------------------Cette fonction est une fonction permettant d'obtenir du contenu à distance----------------- ---
'en cas d'erreur, reprendre ensuite
'Réponse.Écrire l'URL
Définir la récupération = CreateObject (Microsoft.XMLHTTP)
'----------------------Créer un objet XMLHTTP----------------------- -----
Avec récupération
.Ouvrez Obtenir, URL, Faux, ,
'------------------Envoyer en utilisant Get, méthode asynchrone-----------------------
.Envoyer
'GetBody = .ResponseText
GetBody = .ResponseBody
'------------------La fonction renvoie le contenu obtenu----------------------------------------
Terminer par
Définir la récupération = Rien
'réponse.Écrire erreur.Description
Fonction de fin
Fonction GetFileName(str)
'------------------------------Cette fonction est une fonction de nom de fichier qualifié------------------ - ---
str = Remplacer (lcase (str), http://,)
str = Remplacer(lcase(str),//,/)
str = Remplacer (str,?,)
str = Remplacer (str,&,)
str = Remplacer (str,/,)
str = remplacer (str, vbcrlf,)
GetFileName = chaîne
Fonction de fin
sous SaveFile(str,fName)
'------------------------------Cette fonction est une fonction qui enregistre le contenu du flux------------- - ----
'en cas d'erreur, reprendre ensuite
Définir objStream = Server.CreateObject (ADODB.Stream)
'-------------Pour créer un objet ADODB.Stream, ADO version 2.5 ou supérieure est requis---------
'objStream.Type = adTypeBinary
objStream.Type = 1
'-------------Ouvrir en mode binaire-------------------------------- -----
objStream.Open
objstream.write str
'------------------------------Écrivez le contenu de la chaîne dans le tampon---------------- ---------- ----
'réponse.Écrivez fname
'attention au chemin
objstream.SaveToFile E:/webroot/pcqc/vip/UploadFile/cache/&fName,2
'objstream.SaveToFile d:/cache/ & fName,adSaveCreateOverWrite
'------------------------------Écrire le contenu mis en mémoire tampon dans un fichier------------------- ---- ----
'response.BinaryWrite objstream.Read
objstream.Close()
définir objstream = rien
'-----------------------Fermez l'objet et libérez les ressources-------------------- - ----
'réponse.Écrire erreur.Description
Fin du sous-marin
fonction saveimage (de, vers un fichier)
faible geturl, objStream, imgs
geturl=trim(de)
imgs=gethttppage(geturl)'Le processus d'obtention du contenu spécifique de l'image
Set objStream = Server.CreateObject(ADODB.Stream)' Pour créer un objet ADODB.Stream, ADO 2.5 ou supérieur est requis
objStream.Type =1'Ouvrir en mode binaire
objStream.Open
objstream.write imgs' écrit le contenu de la chaîne dans le tampon
objstream.SaveToFile server.mappath(tofile),2'-écrit le contenu mis en mémoire tampon dans le fichier
objstream.Close()'Fermer l'objet
définir objstream = rien
fonction de fin
%>