<%
'----------Obtenha o conteúdo remotamente e armazene-o no computador local, incluindo quaisquer arquivos! ----------
'---------------Usando xmlhttp e adodb.stream-----------------
'Em caso de erro, retomar próximo
'---------------------------------Definir formato de saída----------- ------ ---------------
caminho=solicitação(caminho)
se caminho = então
caminho = http://pcqc.86516.com/index.asp
'O URL definido aqui é Baidu, observe que deve haver um sufixo de arquivo
terminar se
sPath = Caminho
se esquerda(lcase(caminho),7) <> http:// então
'-------------Se não houver http na frente, é um arquivo local e é entregue ao LocalFile para processamento------------
ArquivoLocal(caminho)
outro
'--------------------------Caso contrário, é um arquivo remoto e será tratado por RemoteFile---------- --------
Arquivo Remoto (Caminho)
terminar se
'Resposta.Write err.Descrição
'------------Função de processamento----------
subLocalArquivo(Caminho)
'-----------------Se for um arquivo local, simplesmente vá para a página------------------ -
'Resposta.Caminho de redirecionamento
Ocorreu um erro em Response.write!
Finalizar sub
SubRemoteFile(sPath)
'---------------------------------Função de processamento remoto de arquivos----------- ----------------- ----------
NomeArquivo = GetNomeArquivo(sPath)
'----------------GetFileName é o processo de conversão de um endereço em um nome de arquivo qualificado-------------
Nome do arquivo = Server.MapPath (Cache/ & Nome do arquivo)
Definir objFso = Server.CreateObject(Scripting.FileSystemObject)
'Resposta.Write nome do arquivo
se objFso.FileExists (Nome do arquivo) Então
'------------Verifique se o arquivo foi acessado, se sim, basta pular---------------------
Response.Redirect cache/ & GetFileName (caminho)
Outro
'------------Caso contrário, use a função GetBody para lê-lo primeiro---------------------
'Resposta.Caminho de gravação
t = GetBody (Caminho)
'-----------------Use o método binário para escrever no navegador----------------------- -------- --
Resposta.BinaryWrite t
Resposta.Flush
'-----------------Buffer de saída------------------------------ --- ----------
SaveFile t,GetFileName(caminho)
'------------------Armazena em cache o conteúdo do arquivo em um caminho local para próximo acesso----------
Terminar se
Definir objFso = Nada
Finalizar sub
Função GetBody(url)
'----------------------Esta função é uma função para obter conteúdo remotamente----------------- ---
'em caso de erro retome o próximo
'Resposta.Escreva url
Definir recuperação = CreateObject (Microsoft.XMLHTTP)
'----------------------Criar objeto XMLHTTP------------------------ -----
Com recuperação
.Abra Obter, url, Falso, ,
'------------------Enviar usando Get, método assíncrono----------------------
.Enviar
'GetBody = .ResponseText
GetBody = .ResponseBody
'------------------A função retorna o conteúdo obtido--------------------------
Terminar com
Definir recuperação = nada
'resposta.Write err.Descrição
Função final
Função GetFileName(str)
'--------------------------Esta função é uma função de nome de arquivo qualificado -------------- - ---
str = Substituir(lcase(str),http://,)
str = Substituir(lcase(str),//,/)
str = Substituir(str,?,)
str = Substituir(str,&,)
str = Substituir(str,/,)
str = substituir(str,vbcrlf,)
ObterNomeArquivo = str
Função final
sub SaveFile(str,fNome)
'--------------------------Esta função é uma função que salva o conteúdo do stream------------- - ----
'em caso de erro retome o próximo
Definir objStream = Server.CreateObject(ADODB.Stream)
'-------------Para criar um objeto ADODB.Stream, é necessário o ADO versão 2.5 ou superior---------
'objStream.Type = adTypeBinary
objStream.Type = 1
'------------Abrir em modo binário-------------------------------- -----
objStream.Open
objstream.write str
'--------------------------Escreve o conteúdo da string no buffer---------------- ---------- ----
'resposta.Escreva nome
'caminho atenção
objstream.SaveToFile E:/webroot/pcqc/vip/UploadFile/cache/&fName,2
'objstream.SaveToFile d:/cache/ & fName,adSaveCreateOverWrite
'--------------------------Escreve conteúdo armazenado em buffer no arquivo------------------ -------- ----
'response.BinaryWrite objstream.Read
objstream.Fechar()
definir objstream = nada
'-----------------------Fecha o objeto e libera recursos----------------------------------- - ----
'resposta.Write err.Descrição
Terminar sub
função salvar imagem (de, para arquivo)
dim geturl,objStream,imgs
geturl=cortar(de)
imgs=gethttppage(geturl)'O processo de obtenção do conteúdo específico da imagem
Set objStream = Server.CreateObject(ADODB.Stream)' Para criar um objeto ADODB.Stream, é necessário ADO 2.5 ou superior
objStream.Type = 1'Abrir em modo binário
objStream.Open
objstream.write imgs' grava o conteúdo da string no buffer
objstream.SaveToFile server.mappath(tofile),2'-grava o conteúdo em buffer no arquivo
objstream.Close()'Fecha o objeto
definir objstream = nada
função final
%>