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

2016-01-29 20:21 52 1 收藏

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

【 tulaoshi.com - ASP 】

<%
'------------------------------------------------------------------------
'-------------------无垠网域: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://www.tulaoshi.com/asp/)

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://www.tulaoshi.com/asp/)

来源:http://www.tulaoshi.com/n/20160129/1511061.html

延伸阅读
标签: Web开发
Java获取URL内容的,我这里只给出GET方式的,POST和其它方式的都是比较类似的。其技术要点就一下三点。 第一:创建HttpURLConnection 第二:打开URL,创建一个InputStream 第三:逐行(逐字节)读取,如果需要,转换编码,放入字符串。 好,一下就开始代码吧: 代码如下: public String getUrlContent(String path){ String rtn = ""; ...
标签: 早教
关注婴幼儿早期教育 中国社会调查事务所(SSIC)“六一”前夕在北京地区对0-7岁的父母做了题为“关注婴幼儿早期教育”专项问卷调查,共获得有效样本665份(有效率95%)。 早期教育有必要吗? 99.4%的父母认为婴幼儿早期教育有重要作用。不教不成才,早期教育可以使孩子终身受益是父母的共识。42.6%的家长是在孩子面临上小TuLaoShi.com...
五险一金包括什么内容 1、基本养老保险 基本养老保险是由个人和企业共同缴纳的。其中,个人所负担的部分是工资基数的4%,而企业则要负担更多一些,一般企业会缴纳占工资基数10%保险费用,缴费时间一直到个人退休为止。 2、医疗保险 基本医疗保险也是由个人和企业共同缴纳的。一般说来,员工每个月需要缴纳的医疗保险费用是工资基数的2%...
标签: 服务器
利用VirtualBox本地电脑安装虚拟系统设置 可能由于我们本地调试软件的使用,需要用到虚拟机。笔者今天实践使用VirtualBox软件在本地电脑安装,推荐这款软件的原因是免费的。不同于其他软件的破解版或者什么汉化版都存在不安全的因素,而且VirtualBox体积只有100M之内,其他的软件需要几百兆。下面让各位新手朋友与笔者一起学习如何用Virtu...
如何编辑pdf文件内容 要想修改pdf文档,首先用户需要在电脑上下载安装捷速PDF编辑器,安装的过程非常简单,这里就不做过多介绍了。 捷速PDF编辑器安装好之后,大家就可以双击打开该软件,然后可以看到如下软件主界面: 捷速PDF编辑器打开后,点击软件左上方的文件打开,在打开的窗口中找到需要修改的pdf文档,然后添加到软件...

经验教程

334

收藏

73
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部