asp读取远程文件并保存到本地代码
时间:2019-10-16 09:59 来源/作者:asp代码网
-
<%
-
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
-
'''''''''''''''''''''''''''''''''''''''''''''''''''''
-
%>
相关文章
热门资讯