远程获取内容并将内容存在本地电脑上包括任何文件

life小小焕

life小小焕

2016-02-19 22:59

今天给大家分享的是由图老师小编精心为您推荐的远程获取内容并将内容存在本地电脑上包括任何文件,喜欢的朋友可以分享一下,也算是给小编一份支持,大家都不容易啊!
%
'------------------------------------------------------------------------
'-------------------无垠网域:http://www.5inet.net/ ---------------------
'-------------------作者:嘻哈呵嘿 ,webmaster@5inet.net -----------------
'----------远程获取内容,并将内容存在本地电脑上,包括任何文件!----------
'---------------利用xmlhttp和adodb.stream,酷!绝对原创!-----------------
'On Error Resume Next
'Set the content type to the specific type that you are sending.
'Response.ContentType = "IMAGE/JPEG"
'-------------------------------定义输出格式-----------------------------

Path=request.querystring("p")
sPath = Path
if left(lcase(path),7) "http://" then
'-------------如果前面没有http就是本地文件,交给LocalFile处理------------
LocalFile(path)
else
'--------------------否则为远程文件,交给RemoteFile处理------------------
RemoteFile(Path)
end if
'Response.Write err.Description

sub LocalFile(Path)
'-------------------如果为本地文件则简单的跳转到该页面-------------------
Response.Redirect Path
End Sub

Sub RemoteFile(sPath)
'-------------------------处理远程文件函数------------------------------
FileName = GetFileName(sPath)
'-------------GetFileName为把地址转换为合格的文件名过程-------------
FileName = Server.MapPath("/UploadFile/Cache/" & FileName)
Set objFso = Server.CreateObject("Scripting.FileSystemObject")
'Response.Write fileName
if objFso.FileExists(FileName) Then
'--------------检查文件是否是已经访问过,如是,则简单跳转------------
Response.Redirect "/uploadfile/cache/" & GetFileName(path)
Else
'----------------否则的话就先用GetBody函数读取----------------------
'Response.Write Path
t = GetBody(Path)
'-----------------用二进制方法写到浏览器上--------------------------
Response.BinaryWrite t
Response.Flush
'-----------------输出缓冲------------------------------------------
SaveFile t,GetFileName(path)
'------------------将文件内容缓存到本地路径,以待下次访问-----------
End if
Set objFso = Nothing
End Sub

Function GetBody(url)
'-----------------------本函数为远程获取内容的函数---------------------
'on error resume next
'Response.Write url
Set Retrieval = CreateObject("Microsoft.XMLHTTP")
'----------------------建立XMLHTTP对象-----------------------------
With Retrieval
.Open "Get", url, False, "", ""
'------------------用Get,异步的方法发送-----------------------
.Send
'GetBody = .ResponseText
GetBody = .ResponseBody
'------------------函数返回获取的内容--------------------------
End With
Set Retrieval = Nothing
'response.Write err.Description
End Function

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

Function GetFileName(str)
'-------------------------本函数为合格化的文件名函数-------------------
str = Replace(lcase(str),"http://","")
str = Replace(lcase(str),"//","/")
str = Replace(str,"/","")
str = replace(str,vbcrlf,"")
GetFileName = str
End Function

sub SaveFile(str,fName)
'-------------------------本函数为将流内容存盘的函数-------------------
'on error resume next
Set objStream = Server.CreateObject("ADODB.Stream")
'--------------建立ADODB.Stream对象,必须要ADO 2.5以上版本---------
objStream.Type = adTypeBinary
'-------------以二进制模式打开-------------------------------------
objStream.Open
objstream.write str
'--------------------将字符串内容写入缓冲--------------------------
'response.Write fname
objstream.SaveToFile "c:inetpubmywebuploadfilecache" & fName,adSaveCreateOverWrite
'--------------------将缓冲的内容写入文件--------------------------
'response.BinaryWrite objstream.Read
objstream.Close()
set objstream = nothing
'-----------------------关闭对象,释放资源-------------------------
'response.Write err.Description
End sub
%

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)
展开更多 50%)
分享

猜你喜欢

远程获取内容 并将内容存在本地电脑上 包括任何文件

ASP
远程获取内容 并将内容存在本地电脑上 包括任何文件

远程获取内容并将内容存在本地电脑上包括任何文件

Web开发
远程获取内容并将内容存在本地电脑上包括任何文件

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

​婚检包括哪些内容

婚检
​婚检包括哪些内容

胎教包括哪些内容?

怀孕
胎教包括哪些内容?

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

婚检内容都包括哪些?

婚检
婚检内容都包括哪些?

尿常规检查包括哪些内容

生活常识 生活小常识
尿常规检查包括哪些内容

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

不要怀疑,我们也是别人羡慕的一对_男女生幸福QQ签名

不要怀疑,我们也是别人羡慕的一对_男女生幸福QQ签名

比较唯美的伤感QQ情侣分组_我为谁倾此生解情仇

比较唯美的伤感QQ情侣分组_我为谁倾此生解情仇
下拉加载更多内容 ↓