利用ASP远程获取内容

 
'----------远程获取内容,并将内容存在本地电脑上,包括任何文件!----------
'---------------利用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
'-------------以二进制模式打开-------------------------------------
objStream.Open
objstream.write str
'--------------------将字符串内容写入缓冲--------------------------
'response.Write fname
objstream.SaveToFile "c:\inetpub\myweb\uploadfile\cache\" & fName,adSaveCreateOverWrite
'--------------------将缓冲的内容写入文件--------------------------
'response.BinaryWrite objstream.Read
objstream.Close()
set objstream = nothing
'-----------------------关闭对象,释放资源-------------------------
'response.Write err.Description
End sub
%>

时间: 2024-12-29 07:20:42

利用ASP远程获取内容的相关文章

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

  <%   '------------------------------------------------------------------------   '-------------------无垠网域:http://www.5inet.net/ ---------------------   '-------------------作者:嘻哈呵嘿 ,webmaster@5inet.net -----------------   '----------远程获取内容,并将内容存在本地电

asp中获取内容中所有图片与获取内容中第一个图片的代码_应用技巧

复制代码 代码如下: '===================================== '获取内容中所有图片 '===================================== Function Get_ImgSrc(ByVal t0) Dim t1,Regs,Matches,Match t1="" IF Not(IsNull(t0) Or Len(t0)=0) Then Set Regs=New RegExp Regs.Pattern="<img

利用ASP远程注册DLL的方法

老外真是聪明,这个方法也想得到,有兴趣的不妨试试,但是如果对方的服务器安全搞的很好的话,这个代码也许就不能用了,但不管怎么样,学习一下也是好的,:) <% Response.Buffer = True %><% Server.ScriptTimeout = 500     Dim frmFolderPath, frmFilePath     frmFolderPath = Request.Form("frmFolderPath")    frmFilePath = R

XMLHttp ASP远程获取网页内容代码_小偷/采集

复制代码 代码如下: url="http://www.csdn.net/" wstr=getHTTPPage(url) start=Newstring(wstr,"资源精选<!-- 下载 -->") over=Newstring(wstr,"<div class=""friendlink"">") body=mid(wstr,200,500) response.write body

XMLHttp ASP远程获取网页内容代码

复制代码 代码如下:url="http://www.csdn.net/" wstr=getHTTPPage(url) start=Newstring(wstr,"资源精选<!-- 下载 -->") over=Newstring(wstr,"<div class=""friendlink"">") body=mid(wstr,200,500) response.write body F

利用ASP程序实现将远程页面的所有内容下载到本地

程序|下载|页面 以前发过一个东西,是将远程的内容,按浏览器输入后,将它转为二进制流下载到本地,但局限性比较多,这个代码可以将远程页面的所有内容,包括远程服务器的CSS,JS,JPG,Gif,第一层下面的页面,swf,等等... 代码的使用: 将下面的代码保存为downfile.asp放到你的站点一个目录下,然后在那个目录里面建立一个叫downfile的文件夹,所有得到的内容都将保存在downfile文件夹里. 在浏览器中输入 http://你的地址/downfile.asp?url=http:

ASP函数获取远程文件大小,可用于版本更新检测

ASP函数获取远程文件大小,可以用于版本更新检测等 <% '----------------------------------------------------------- '功能:获取远程文件大小 '参数:url 远程文件地址 '返回:远程文件大小(单位:字节) '----------------------------------------------------------- Function getRemoteFileSize(url)     Dim xmlHTTP     S

用.net实现远程获取其他网站页面内容

页面 远程获取网页内容.经过一定的处理和灵活应用,可以开发成成体系网站内容采集系统.通常也叫做"新闻小偷"一般来说.做内容采集分为如下几个大致的步骤: 1.远程获取页面的全部Html源文本. 2.通过过滤处理,分析有效内容文本.(通常用正则表达式来截取有效数据) 3.将格式有效的数据,根据自己的数据库结构分标题,内容....一些其他属性保存到自己的本地数据库. ok整个采集过程如此简单.原理也不难.下面我们看看实现的具体基础代码! 首先我们来写一个获取远程Html源的方法. publi

远程获取类Asp xmlHttp

编者注:这个class主要用于操作asp中的xmlhttp. 首先是类定义 Cls_AspHttp.asp: <% ''================================================================= ''飞扬远程获取类(AspHttp) 1.0.1 Bate1 '' By 奔腾的心 '' 2006-04-19 ''=================================================================