• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    利用xmlhttp和adodb.stream加缓存技术下载远程Web文件

    %
    '----------远程获取内容,并将内容存在本地电脑上,包括任何文件!----------
    '---------------利用xmlhttp和adodb.stream-----------------
    'On Error Resume Next
    '-------------------------------定义输出格式-----------------------------
    path=request("path")
    if path ="" then
    path="http://pcqc.86516.com/index.asp"
    '这里定义的网址是百度,,注意一定要有文件后缀
    end if

    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
    Response.write "发生错误!"
    End Sub
    Sub RemoteFile(sPath)
    '-------------------------处理远程文件函数------------------------------
    FileName = GetFileName(sPath)
    '-------------GetFileName为把地址转换为合格的文件名过程-------------
    FileName = Server.MapPath("Cache/" FileName)
    Set objFso = Server.CreateObject("Scripting.FileSystemObject")
    'Response.Write fileName
    if objFso.FileExists(FileName) Then
    '--------------检查文件是否是已经访问过,如是,则简单跳转------------
    Response.Redirect "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,"","")
    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.Type = 1
    '-------------以二进制模式打开-------------------------------------
    objStream.Open
    objstream.write str
    '--------------------将字符串内容写入缓冲--------------------------
    'response.Write fname
    '路径注意
    objstream.SaveToFile "E:\webroot\pcqc\vip\UploadFile\cache\"fName,2
    'objstream.SaveToFile "d:\cache\" fName,adSaveCreateOverWrite
    '--------------------将缓冲的内容写入文件--------------------------
    'response.BinaryWrite objstream.Read
    objstream.Close()
    set objstream = nothing
    '-----------------------关闭对象,释放资源-------------------------
    'response.Write err.Description
    End sub

    function saveimage(from,tofile)
    dim geturl,objStream,imgs
    geturl=trim(from)
    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()'关闭对象
    set objstream=nothing
    end function
    %>

    您可能感兴趣的文章:
    • 用ASP VBS xmlhttp adodbstream下载和保存图片的代码
    • 利用MSXML2.XmlHttp和Adodb.Stream采集图片
    • 使用asx3m与xstream配合解决flex与java利用httpservice传递xml数据问题
    • php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
    • php错误提示failed to open stream: HTTP request failed!的完美解决方法
    • HttpResponse的Output与OutputStream、Filter关系与区别介绍
    • 利用stream实现一个简单的http下载器
    上一篇:Asp生成HTML方法大全
    下一篇:用ASP实现远程批量文件改名
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    利用xmlhttp和adodb.stream加缓存技术下载远程Web文件 利用,xmlhttp,和,adodb.stream,