当前位置: 网学 > 编程文档 > ASP > 正文

利用ASP远程获取内容

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/17
下载{$ArticleTitle}原创论文样式

 
 
''----------远程获取内容,并将内容存在本地电脑上,包括任何文件!----------
''---------------利用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

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
''-----
  • 下一篇资讯: ASP远程注册自己的组件
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号