asp读取远程文件并保存到本地代码

所属分类: 网络编程 / ASP编程 阅读数: 542
收藏 0 赞 0 分享
<%
dim act,ifLogin,loginUrl,loginActUrl,loginData,fileUrl,fileName
act=request.QueryString("act")
if(act="do") then 
 ifLogin=Cint(request.QueryString("ifLogin"))
 loginActUrl=request.Form("loginActUrl")
 loginData=request.Form("loginData")
 fileUrl=request.Form("fileUrl")
 fileName=mid(fileUrl,instrrev(fileUrl,"/")+1)
 extPos=instrrev(fileName,"?")
 if(extPos>0) then
  fileName=left(fileName,extPos-1)
 end if
 if(ifLogin=1) then
  call PostHttpPage(loginActUrl,loginData)
 end if
 call DownloadFile(fileUrl,fileName)
else
%>
<form name="form1" method="post" action="?act=do">
  <p>是否登录:
    <input name="ifLogin" type="radio" value="1">
    是
    <input name="ifLogin" type="radio" value="0" checked>
    否  </p>
  <p>登录提交地址:
    <input name="loginActUrl" type="text" size="50">
  </p>
  <p>
    登录数据:<input name="loginData" type="text" size="50">
  </p>
  <p>
    要保存的远程文件URL:
    <input name="fileUrl" type="text" size="50">
  </p>
  <p>
    <input type="submit" name="Submit" value="提交">
    <input type="reset" name="Submit2" value="重写">
  </p>
</form>
<%
end if
Function BytesToBstr(body,code) 
        dim objstream 
        set objstream = Server.CreateObject("adodb.stream") 
        objstream.Type = 1 
        objstream.Mode =3 
        objstream.Open 
        objstream.Write body 
        objstream.Position = 0 
        objstream.Type = 2 
        objstream.Charset =code
        BytesToBstr = objstream.ReadText  
        objstream.Close 
        set objstream = nothing 
End Function 
Function PostHttpPage(loginActUrl,PostData) 
    Dim xmlHttp 
    Dim RetStr      
    Set xmlHttp = CreateObject("Microsoft.XMLHTTP")  
    xmlHttp.Open "POST", loginActUrl, False
    XmlHTTP.setRequestHeader "Content-Length",Len(PostData) 
    xmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"   
    xmlHttp.Send PostData 
    If Err.Number <> 0 Then 
        Set xmlHttp=Nothing
  response.Write("提交登录时出错!提交数据:"&PostData)
        Exit Function
    End If
    PostHttpPage=BytesToBstr(xmlHttp.responseBody,"GB2312")
    Set xmlHttp = nothing
End Function
'''''''''''''''''''''''''''''''''''''''''''
function DownloadFile(url,filename)
 Set xml = Server.CreateObject("Msxml2.XMLHTTP") '创建对象

   xml.Open "GET",url,False
   xml.Send '发送请求    

   if Err.Number>0 then 
  Response.Status="404"
  else
  Response.ContentType="application/octet-stream"
  Response.AddHeader "Content-Disposition:","attachment; filename=" & filename
  Range=Mid(Request.ServerVariables("HTTP_RANGE"),7)
  if Range="" then
   Response.BinaryWrite(xml.responseBody)
  else
   S.position=Clng(Split(Range,"-")(0))
   Response.BinaryWrite(xml.responseBody)
  End if
  end if
 Response.End  
   Set xml = Nothing
end function
'''''''''''''''''''''''''''''''''''''''''''''''''''''
%>
更多精彩内容其他人还在看

asp知识整理笔记4(问答模式)

这是关于asp知识整理的最后一份笔记,希望大家仔细阅读。
收藏 0 赞 0 分享

ASP基础知识VBScript基本元素讲解

这篇文章主要介绍了ASP基础知识VBScript基本元素的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP编码和解码函数详解

这篇文章主要介绍了ASP编码和解码函数的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP显示页面执行时间的方法

这篇文章主要介绍了ASP显示页面执行时间的方法,在本地测试一下输出页面需要多少时间,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP基础入门第一篇(ASP技术简介)

本文将以 Active Server Pages 为中心,向你全面展示制作动态商业网站的步骤和技巧并通过大量的实例,让你在不断的理论和实践之中笑傲“网络”……
收藏 0 赞 0 分享

ASP基础入门第二篇(ASP基础知识)

这篇文章是ASP基础入门第二篇,第一篇展示了ASP动态网站设计的一些最基本的方法,相信通过实践各位对 ASP 已经有了最基本的了解,本文将进一步介绍ASP动态网站的一些基本技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP基础入门第三篇(ASP脚本基础)

通过前两篇的学习,相信各位已经对 ASP 的动态网站设计有了一个基本的概念和整体的印象。从本篇开始作者将从脚本语言的使用着手,由浅入深地带领大家探索 ASP 动态网站设计的真正奥秘。
收藏 0 赞 0 分享

ASP基础入门第四篇(脚本变量、函数、过程和条件语句)

大家在学习了脚本语言 VBScript 的变量、常量和过程的基本概念后,本期将继续向各位介绍 VBScript 的函数和语法。
收藏 0 赞 0 分享

ASP基础入门第五篇(ASP脚本循环语句)

在本文上两篇中,我们学习了脚本语言 VBScript 的变量、函数、过程和条件语句,本篇将继续给大家介绍 VBScipt 的循环语句,并对脚本语言在 ASP 中的应用加以总结。  
收藏 0 赞 0 分享

ASP基础入门第六篇(ASP内建对象Request)

从本篇开始作者从 ASP 内建对象着手,为大家详细剖析 ASP 的六个内建对象和各种组件的特性和方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多