<%
'----------Получите контент удаленно и сохраните его, включая любые файлы, на локальном компьютере! ----------
'---------------Использование xmlhttp и adodb.stream-----------------
'При ошибке возобновить далее
'----------------------------------Определение формата вывода------------ ------ ---------------
путь = запрос (путь)
если путь = тогда
путь = http://pcqc.86516.com/index.asp
«Здесь указан URL-адрес Baidu. Обратите внимание, что должен быть суффикс файла.
конец, если
sPath = Путь
если left(lcase(path),7) <> http:// то
'-------------Если впереди нет http, это локальный файл, который передается в LocalFile для обработки ------------
ЛокальныйФайл(путь)
еще
'--------------------------В противном случае это удаленный файл, и он будет обрабатываться RemoteFile---------- --------
УдаленныйФайл(Путь)
конец, если
'Ответ.Ошибка записи.Описание
'-------------Функция обработки----------
сублокальныйфайл (путь)
'------------------Если это локальный файл, просто перейдите на страницу------------------ -
'Response.Путь перенаправления
Произошла ошибка в Response.write!
Конец субтитра
СубRemoteFile(sPath)
'----------------------------------Функция удаленной обработки файлов------------ ----------------- ----------
ИмяФайла = ПолучитьИмяФайла(sPath)
'-------------GetFileName — это процесс преобразования адреса в полное имя файла -------------
ИмяФайла = Server.MapPath(Кэш/И ИмяФайла)
Установите objFso = Server.CreateObject(Scripting.FileSystemObject)
'Ответ.Запись имени файла
если objFso.FileExists(имя_файла) Тогда
'-------------Проверьте, был ли доступ к файлу, если да, просто перейдите---------------------
Response.Redirect кэш/ & GetFileName(путь)
Еще
'-------------В противном случае сначала используйте функцию GetBody, чтобы прочитать его ---------------------
'Ответ.Записать путь
т = GetBody (Путь)
'-----------------Использовать двоичный метод для записи в браузер ------------------------ -------- --
Response.BinaryWrite t
Ответ.Flush
'----------------- Буферизация вывода ------------------------------ --- ----------
SaveFile t, GetFileName (путь)
'------------------Кэшируйте содержимое файла по локальному пути для следующего доступа----------
Конец, если
Установить objFso = Ничего
Конец субтитра
Функция GetBody(url)
'-----------------------Эта функция предназначена для удаленного получения контента------------------ ---
'в случае ошибки продолжить дальше
'Ответ.Записать URL
Установить получение = CreateObject(Microsoft.XMLHTTP)
'----------------------Создать объект XMLHTTP------------------------ -----
С поиском
.Открыть Get, URL, False, ,
'------------------Отправить с помощью асинхронного метода Get-----------------------
.Отправлять
'GetBody = .ResponseText
GetBody = .ResponseBody
'------------------Функция возвращает полученное содержимое--------------------------
Конец с
Установить получение = Ничего
'ответ.Написать ошибку.Описание
Конечная функция
Функция GetFileName(str)
'--------------------------Эта функция представляет собой функцию квалифицированного имени файла-------------- - ---
стр = Заменить(lcase(str),http://,)
str = Заменить(lcase(str),//,/)
стр = Заменить(строка,?,)
ул = Заменить(стр,&,)
стр = Заменить(стр,/,)
ул = заменить (стр, vbcrlf,)
ПолучитьИмяФайла = ул
Конечная функция
дополнительный SaveFile(str,fName)
'--------------------------Эта функция сохраняет содержимое потока ------------- - ----
'в случае ошибки продолжить дальше
Установите objStream = Server.CreateObject(ADODB.Stream)
'-------------Для создания объекта ADODB.Stream требуется ADO версии 2.5 или выше ---------
'objStream.Type = adTypeBinary
objStream.Type = 1
'-------------Открыть в двоичном режиме-------------------------------- -----
objStream.Open
objstream.write строка
'--------------------------Записываем содержимое строки в буфер---------------- ---------- ----
'response. Напишите имя
'путь внимания
objstream.SaveToFile E:/webroot/pcqc/vip/UploadFile/cache/&fName,2
'objstream.SaveToFile d:/cache/ & fName,adSaveCreateOverWrite
'--------------------------Запись буферизованного содержимого в файл------------------ -------- ----
'response.BinaryWrite objstream.Read
объектный поток.Закрыть()
установить objstream = ничего
'-----------------------Закройте объект и освободите ресурсы-------------------- - ----
'ответ.Написать ошибку.Описание
Конец субтитра
функция saveimage(from,tofile)
тусклый geturl, objStream, imgs
geturl=обрезать(из)
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=ничего
конечная функция
%>