当前位置: 首页 > 图文教程 > 网络编程 > ASP > 获取远程flash并保存到本地

ASP
提高SQL的执行效率的ASP的五种做法
asp的offset的一个go to page
asp中command的在单条记录时,有些字段显示为空的问题
asp,php一句话木马整理方便查找木马
asp 合并记录集并删除的sql语句
asp下循环一行多少个
asp循环行数输出函数
asp access重新开始编号
ASP生成数字相加求和的BMP图片验证码
静态页面利用JS读取cookies记住用户信息
比较详细的Asp伪静态化方法及Asp静态化探讨
asp Response.flush 实时显示进度
Asp高级故障解决以及相关代码
asp智能脏话过滤系统v1.0
ASP文件中的安全问题
Access数据库中“所有记录中均未找到搜索关键字”的解决方法
asp两组字符串数据比较合并相同数据
asp MYSQL出现问号乱码的解决方法
asp文章中随机插入网站版权文字的实现代码
ASP利用XMLHTTP实现表单提交以及cookies的发送的代码

ASP 中的 获取远程flash并保存到本地


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 54 ::
收藏到网摘: n/a

复制代码 代码如下:

<%
'--------------------------------------------------------------
Dbname = "../data/flash.mdb" '更改数据库文件位置,强烈建议更改为.asp的文件!
Set Conn = Server.CreateObject("ADODB.Connection")
Connstr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.Mappath(Dbname)
Conn.Open Connstr
'------------------------------------------------------------
Set List = Conn.Execute("Select * From System")
WebName = List("WebName")
WebUrl = List("WebUrl")
webemail = List("webemail")
zzname = List("zzname")
qq = List("webqq")
%>
<%
Server.ScriptTimeOut=999999999
%>
<%
if request("overid")="" then
response.write "结束ID不可为空"
response.end
elseif request("download")="" then
response.write "请选择是否下载"
response.end
end if
if request("id")=request("overid") then
response.write "采集任务结束"
response.end
end if
gourl1=request("id")
gourl1=gourl1+1
%>
<%
function GetPy(Str)
for i=1 to len(Str)
GetPy=GetPy&GetPyChar(mid(Str,i,1))
next
end function
Function GetURL(url)
Set Retrieval = CreateObject("Microsoft.XMLHTTP")
With Retrieval
.Open "GET", url, False
.Send
GetURL = bytes2bstr(.responsebody)
if len(.responsebody)<100 then
response.write "获取远程文件 <a href="&url&" target=_blank>"&url&"</a> 失败。"
response.write"<meta http-equiv=""refresh"" content=""0;URL=getid.asp?id="&gourl1&""">"
response.end
end if
End With
Set Retrieval = Nothing
End Function
function bytes2bstr(vin)
strreturn = ""
for i = 1 to lenb(vin)
thischarcode = ascb(midb(vin,i,1))
if thischarcode < &h80 then
strreturn = strreturn & chr(thischarcode)
else
nextcharcode = ascb(midb(vin,i+1,1))
strreturn = strreturn & chr(clng(thischarcode) * &h100 + cint(nextcharcode))
i = i + 1
end if
next
bytes2bstr = strreturn
end function
Function GetKey(HTML,Start,Last)
filearray=split(HTML,Start)
filearray2=split(filearray(1),Last)
GetKey=filearray2(0)
End Function
'------------------------------------
Function SaveRemoteFile(s_LocalFileName, s_RemoteFileUrl)
Dim Ads, Retrieval, GetRemoteData
Dim bError
bError = False
SaveRemoteFile = False
On Error Resume Next
Set Retrieval = Server.CreateObject("Msxml2.ServerXMLHTTP")
With Retrieval
.Open "GET", s_RemoteFileUrl, False
.Send
If .Status = 200 Then
GetRemoteData = .ResponseBody
Else
bError = True
End If
End With
Set Retrieval = Nothing
If Not bError Then
Set Ads = Server.CreateObject("Adodb.Stream")
With Ads
.Type = 1
.Open
.Write GetRemoteData
.SaveToFile Server.MapPath(s_LocalFileName), 2
.Cancel()
.Close()
End With
Set Ads=nothing
End If
If Err.Number = 0 And Not bError Then
SaveRemoteFile = True
Else
Err.Clear
End If
End Function
%>
<%
flashId=Request("Id")
Url="http://www.gameyes.com/swf/"&flashId&".htm"
Html = GetURL(Url)
num=len(html)
if num<600 then
response.write "<font color=red>FLASH序号:</font> "&gourl1
response.write "此页不存在,跳转下一个........<meta http-equiv=""refresh"" content=""0;URL=getid.asp?id="&gourl1&"&overid="&request("overid")&"&download="&request("download")&""">"
response.end
end if
nclassid1=GetKey(Html,"FLASH游戏 >> <a class=a href=../list/a_",".htm>") '
nclass=GetKey(Html,"<a class=a href=../list/a_"&nclassid1&".htm>","</a>")
nclass=nclass&"类"
classid1=GetKey(Html,"class=a href='../list/",".htm'>")
classname=GetKey(Html,"class=a href='../list/"&classid1&".htm'>","</a>")
body=GetKey(Html,"<div id=""view_intro"">","</div>")
body=replace(body,"<tr>","")
body=replace(body,"<td>","")
pic1=GetKey(Html,"#secrt{background:url(../smallpic",") 2 2 no-repeat;border:1px")
pic1=replace(pic1,"/upload/tech/20091012/20091012011920_13f320e7b5ead1024ac95c3b208610db.gif",".gif")
pic1=replace(pic1,"/upload/tech/20091012/20091012011920_6d0f846348a856321729a2f36734d1a7.jpg",".jpg")
pic="http://www.gameyes.com/smallpic"&pic1
pictype=right(pic,4)
flashurl=GetKey(Html,"download.asp?id="&flashId&"&swf=","""><img src=")
flashurl=replace(flashurl,"http://old.gameyes.com/flash","http://60.191.9.222/flash")
flashurl="http://old.gameyes.com/flash"&flashurl
flashname=GetKey(Html,"<title>","小游戏 休闲小游戏网 gameyes.com</title>")
%>
<%
response.write "<font color=red>FLASH序号:</font> "&gourl1
response.write "<br>"
response.write "<font color=red>FLASH名称:</font> "&flashname
response.write "<br>"
response.write "<font color=red>所属大类:</font> "&nclass
response.write "<br>"
response.write "<font color=red>所属二类:</font> "&classname
response.write "<br>"
response.write "<font color=red>游戏介绍:</font> "&body
response.write "<br>"
response.write "<font color=red>游戏小图:</font> "&pic
response.write "<br>"
response.write "<font color=red>FLASH地址:</font> "&flashurl
response.write "<br>"
%>
<%
if request("download")="yes" then
response.write"开始下载FLASH<br>"
response.flush
result = SaveRemoteFile("../flashfile/"&request("id")&".swf",""&flashurl&"")
If result Then
Response.Write "<b>FLASH下载成功——保存在<a href=../flashfile/"&request("id")&".swf target=_blank>flashfile/"&request("id")&".swf</a><br>"
Else
Response.Write "<b>FLASH保存失败</b><br>"
End If
end if
if request("download")="yes" then
response.write"开始下载FLASH图片<br>"
response.flush
result = SaveRemoteFile("../flashpic/"&request("id")&pictype&"",""&pic&"")
If result Then
Response.Write "<b>FLASH图片下载成功——保存在<a href=../flashpic/"&request("id")&pictype&" target=_blank>flashpic/"&request("id")&pictype&"</a>"
Else
Response.Write "<b>FLASH图片保存失败</b><br>"
response.write "此FLASH采集完毕,继续采集下一个<br><hr>"
End If
end if
%>
<%
DBPath = Server.MapPath("../data/flash.mdb")
set Conn=server.createobject("adodb.connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
set rs=server.CreateObject("ADODB.RecordSet")
Sql="Select * From class Where name='"&nclass&"'"
Rs.Open Sql,Conn,1,3
If Rs.Eof And Rs.Bof Then
Rs.AddNew
End If
rs("name")=nclass
rs("classid")="0"
Rs.Update
Rs.Close
Set Rs = Nothing
Set rsc = Conn.Execute("select * from class where name='"&nclass&"'")
nclassid=rsc("id")
rsc.close
set rsc=nothing
'处理FLASH的二级类别,如数据库中没有该类别,则增加
set rst=server.CreateObject("ADODB.RecordSet")
Sql="Select * From class Where name='"&classname&"'"
Rst.Open Sql,Conn,1,3
If Rst.Eof And Rst.Bof Then
Rst.AddNew
End If
rst("name")=classname
rst("classid")=nclassid
Rst.Update
Rst.Close
Set Rst = Nothing
'取类别的ID号
Set rsc = Conn.Execute("select * from class where name='"&classname&"'")
classid=rsc("id")
rsc.close
set rsc=nothing
'===================================================
'可以开始写入flash
set rs=server.CreateObject("ADODB.RecordSet")
Sql="Select * From flash Where flashname='"&flashname&"' and flashurl='"&flashurl&"'"
Rs.Open Sql,Conn,1,3
If Rs.Eof And Rs.Bof Then
Rs.AddNew
End If
rs("flashname")=flashname
if request("download")="yes" then
rs("flashurl")="../flashfile/"&request("id")&".swf"
else
rs("flashurl")=flashurl
end if
rs("nclass")=NClassID
rs("classid")=classid
rs("classname")=classname
if request("download")="yes" then
rs("pic")="../flashpic/"&request("id")&pictype
else
rs("pic")=pic
end if
rs("size")="500kb"
rs("sj")=now()
rs("body")=body
rs("tj")="no"
rs("hot")="1"
rs("user")="admin"
rs("zz")="未知"
rs("geshou")="不祥"
Rs.Update
Rs.Close
Set Rs = Nothing
conn.close
set conn=nothing
%>
<%
dim gourl
gourl=flashId+1
response.write"<meta http-equiv=""refresh"" content=""0;URL=getid.asp?id="&gourl&"&overid="&request("overid")&"&download="&request("download")&""">"
%>