获取本地ip:远程获取内容并将内容存在本地电脑上

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

<%
'------------------------------------------------------------------------
'-------------------无垠网域:http://www.5inet.net/ ---------------------
'-------------------作者:嘻哈呵嘿 ,[email protected] -----------------
'----------远程获取内容并将内容存在本地电脑上包括任何文件!----------
'---------------利用xmlhttp和adodb.stream,酷!绝对原创!-----------------
'On Error Resume Next
'Set the content type to the specic type that you are sending.
'Response.ContentType = "IMAGE/JPEG"
'-------------------------------定义输出格式-----------------------------

Path=request.query("p")
sPath = Path
left(l(path),7) <> "http://" then
'-------------如果前面没有http就是本地文件交给LocalFile处理------------
LocalFile(path)

'--------------------否则为远程文件交给RemoteFile处理------------------
RemoteFile(Path)
end
'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.FileObject")
'Response.Write fileName
objFso.FileExists(FileName) Then
'--------------检查文件是否是已经访问过,如是则简单跳转------------
Response.Redirect "/uploadfile/cache/" & GetFileName(path)
Else
'----------------否则话就先用GetBody读取----------------------
'Response.Write Path
t = GetBody(Path)
'-----------------用 2进制思路方法写到浏览器上--------------------------
Response.BinaryWrite t
Response.Flush
'-----------------输出缓冲------------------------------------------
SaveFile t,GetFileName(path)
'------------------将文件内容缓存Cache到本地路径以待下次访问-----------
End
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(l(str),"http://","")
str = Replace(l(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
'-------------以 2进制模式打开-------------------------------------
objStream.Open
objstream.write str
'--------------------将串内容写入缓冲--------------------------
'response.Write fname
objstream.SaveToFile "c:\inetpub\myweb\uploadfile\cache\" & fName,adSaveCreateOverWrite
'--------------------将缓冲内容写入文件--------------------------
'response.BinaryWrite objstream.Read
objstream.Close
objstream = nothing
'-----------------------关闭对象释放资源-------------------------
'response.Write err.Description
End sub
%>



  • 篇文章: 优化SQL server性能关键

  • 篇文章: NBSI 1.50版本部分代码
  • Tags:  如何获取本地qq密码 远程桌面本地磁盘 本地连接获取不到ip 获取本地ip

    延伸阅读

    最新评论

    发表评论