用XMLHTTP很好的一个例子
一个 例子 XMLHTTP
2023-06-13 09:13:41 时间
进入www.ting88.com的网站,把歌手专辑页面的URL复制到文本框中再提交就可以得到歌曲的下载路径,如:http://www.ting88.com/MusicList/4141.htm
源程序如下:
<%
on error resume next
dim id,url,getCode,m,i,j,s,d,ns,nd,num,name
id=trim(request.querystring("id"))
"1.获取原网页所有内容
Function getHTTPPage(url)
dim http
set http=Server.createobject("Microsoft.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then
exit function
end if
getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")
set http=nothing
if err.number<>0 then err.Clear
End function
"2.编码转换
Function BytesToBstr(body,Cset)
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 = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
"得到明码URL
function MyReplace(ConvStr)
ConvStr=replace(ConvStr,"YVI","1")
ConvStr=replace(ConvStr,"ESR","2")
ConvStr=replace(ConvStr,"SXN","3")
ConvStr=replace(ConvStr,"STI","4")
ConvStr=replace(ConvStr,"WFU","5")
ConvStr=replace(ConvStr,"LQU","6")
ConvStr=replace(ConvStr,"QGI","7")
ConvStr=replace(ConvStr,"BLA","8")
ConvStr=replace(ConvStr,"JFU","9")
ConvStr=replace(ConvStr,"LSN","0")
ConvStr=replace(ConvStr,"XPG","/")
ConvStr=replace(ConvStr,"XQD",".")
ConvStr=replace(ConvStr," ","")
ConvStr=replace(ConvStr,"%20","")
ConvStr=replace(ConvStr,"KWD","Wma")
MyReplace=ConvStr
end function
if id="1" then
url=trim(request.form("txturl"))
if url="" then
response.redirect("GetMusic.asp")
response.end()
end if
"url="http://www.ting88.com/MusicList/1454.htm"
s=0
d=0
ns=0
nd=0
getCode=getHTTPPage(url)
num=mid(getCode,instrrev(getCode,".<a href")-3,2) "获取歌曲的数目
name=mid(getCode,instr(getCode,"歌手姓名:")+5,10) "获取歌手
m="http://218.75.78.189/33445566/"
response.write "<center>该面页共找到 " & name & "的 <font color=red>" & num& "</font> 首歌曲" & "<br/><br/>"
response.write "<table width="80%" border="1" bordercolor="#A4C8FF" cellpadding="0" cellspacing="0"><tr><td>页面URL:<a href="" & url & "" target="_blank">" & url & "</a></td></tr></table><hr width="80%">"
response.write "<table width="80%" border="0" cellpadding="0" cellspacing="0" bgcolor="#A4C8FF"><tr><td><table border="0" width="100%" cellpadding="2" cellspacing="1"><tr><td align=center bgcolor="#FFFFFF">序号</td><td align=center bgcolor="#FFFFFF">歌名</td><td align=center bgcolor="#FFFFFF">操作</td></tr>"
for i=1 to num
s=instr(i+s,getCode,"checked"" value="")
d=instr(i+d,getCode,"KWD">")
ns=instr(i+ns,getCode,"word=")
nd=instr(i+nd,getCode,"&inc=")
response.write " <tr><td align=center bgcolor="#FFFFFF">" & i & "</td><td bgcolor="#FFFFFF"> <a href="" & m & MyReplace(mid(getCode,s+16,d-s-13)) & "">" & mid(getCode,ns+5,nd-ns-5) & "</a><br/></td><td align=center bgcolor="#FFFFFF"><a href="" & m & MyReplace(mid(getCode,s+16,d-s-13)) & "">下载</a></td></tr>"
next
response.write "</table></td></tr></table></center>"
end if
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>获取专辑歌曲的URL地址</title>
</head>
<body>
<form name="form1" method="post" action="GetMusic.asp?id=1">
<table width="80%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#A4C8FF">
<tr><td><table width="100%" border="0" align="center" cellpadding="2" cellspacing="1">
<tr>
<td height="30">获取专辑歌曲的URL地址</td>
</tr>
<tr>
<td height="30" bgcolor="#FFFFFF">网页地址:
<input name="txturl" type="text" id="txturl" size="80" maxlength="100"></td>
</tr>
<tr>
<td height="30" bgcolor="#FFFFFF"> <input type="submit" name="Submit" value="提 交" style="width:60">
<input name="Reset" type="reset" id="Reset" value="重 置" style="width:60"></td>
</tr>
</table></td></tr></table>
</form>
</body>
</html>
源程序如下:
<%
on error resume next
dim id,url,getCode,m,i,j,s,d,ns,nd,num,name
id=trim(request.querystring("id"))
"1.获取原网页所有内容
Function getHTTPPage(url)
dim http
set http=Server.createobject("Microsoft.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then
exit function
end if
getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")
set http=nothing
if err.number<>0 then err.Clear
End function
"2.编码转换
Function BytesToBstr(body,Cset)
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 = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
"得到明码URL
function MyReplace(ConvStr)
ConvStr=replace(ConvStr,"YVI","1")
ConvStr=replace(ConvStr,"ESR","2")
ConvStr=replace(ConvStr,"SXN","3")
ConvStr=replace(ConvStr,"STI","4")
ConvStr=replace(ConvStr,"WFU","5")
ConvStr=replace(ConvStr,"LQU","6")
ConvStr=replace(ConvStr,"QGI","7")
ConvStr=replace(ConvStr,"BLA","8")
ConvStr=replace(ConvStr,"JFU","9")
ConvStr=replace(ConvStr,"LSN","0")
ConvStr=replace(ConvStr,"XPG","/")
ConvStr=replace(ConvStr,"XQD",".")
ConvStr=replace(ConvStr," ","")
ConvStr=replace(ConvStr,"%20","")
ConvStr=replace(ConvStr,"KWD","Wma")
MyReplace=ConvStr
end function
if id="1" then
url=trim(request.form("txturl"))
if url="" then
response.redirect("GetMusic.asp")
response.end()
end if
"url="http://www.ting88.com/MusicList/1454.htm"
s=0
d=0
ns=0
nd=0
getCode=getHTTPPage(url)
num=mid(getCode,instrrev(getCode,".<a href")-3,2) "获取歌曲的数目
name=mid(getCode,instr(getCode,"歌手姓名:")+5,10) "获取歌手
m="http://218.75.78.189/33445566/"
response.write "<center>该面页共找到 " & name & "的 <font color=red>" & num& "</font> 首歌曲" & "<br/><br/>"
response.write "<table width="80%" border="1" bordercolor="#A4C8FF" cellpadding="0" cellspacing="0"><tr><td>页面URL:<a href="" & url & "" target="_blank">" & url & "</a></td></tr></table><hr width="80%">"
response.write "<table width="80%" border="0" cellpadding="0" cellspacing="0" bgcolor="#A4C8FF"><tr><td><table border="0" width="100%" cellpadding="2" cellspacing="1"><tr><td align=center bgcolor="#FFFFFF">序号</td><td align=center bgcolor="#FFFFFF">歌名</td><td align=center bgcolor="#FFFFFF">操作</td></tr>"
for i=1 to num
s=instr(i+s,getCode,"checked"" value="")
d=instr(i+d,getCode,"KWD">")
ns=instr(i+ns,getCode,"word=")
nd=instr(i+nd,getCode,"&inc=")
response.write " <tr><td align=center bgcolor="#FFFFFF">" & i & "</td><td bgcolor="#FFFFFF"> <a href="" & m & MyReplace(mid(getCode,s+16,d-s-13)) & "">" & mid(getCode,ns+5,nd-ns-5) & "</a><br/></td><td align=center bgcolor="#FFFFFF"><a href="" & m & MyReplace(mid(getCode,s+16,d-s-13)) & "">下载</a></td></tr>"
next
response.write "</table></td></tr></table></center>"
end if
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>获取专辑歌曲的URL地址</title>
</head>
<body>
<form name="form1" method="post" action="GetMusic.asp?id=1">
<table width="80%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#A4C8FF">
<tr><td><table width="100%" border="0" align="center" cellpadding="2" cellspacing="1">
<tr>
<td height="30">获取专辑歌曲的URL地址</td>
</tr>
<tr>
<td height="30" bgcolor="#FFFFFF">网页地址:
<input name="txturl" type="text" id="txturl" size="80" maxlength="100"></td>
</tr>
<tr>
<td height="30" bgcolor="#FFFFFF"> <input type="submit" name="Submit" value="提 交" style="width:60">
<input name="Reset" type="reset" id="Reset" value="重 置" style="width:60"></td>
</tr>
</table></td></tr></table>
</form>
</body>
</html>
相关文章
- 通过一个具体的例子理解 npm 的 peerDependency
- 遗传算法的应用实例python实现_遗传算法Python解决一个问题
- 改改改!一个例子举一反三,体悟(x)的真谛 | PQ重难点突破
- 通过一个具体的例子,深入了解 SAP UI5 控件数据双向绑定的工作原理和问题排查方法试读版
- 【画图】RCircos(一):先画一个Demo找找感觉
- 【画图】ggplot2直方图,找到一个可能会炸雷的例子~
- 关于 Kubernetes中Service使用Metallb实现LoadBalancer的一个Demo
- 【经验】使用http访问一个链接提示400的错误,但是在浏览器访问没问题(server returned HTTP Response code :400 fro URL:),怎么解决
- 5分钟搭建一个粗粒度「视频去重」系统
- 使用JBPM4实现一个简单的工作流例子详解编程语言
- 管理管理Linux SSH权限:一个正确的解决方案(linuxssh权限)
- Linux C编程实践:一个具体例子(linuxc例子)
- 创建linux服务器:一步一步搭建过程(搭建一个linux服务器)
- Linux发展历程:从一个支持多用户的系统到多分支版本(linux的分支)
- Chrony:一个类 Unix 系统上 NTP 客户端和服务器替代品
- 燃!这些智慧城市领跑者,将预见下一个十年 | CCF-GAIR 2019
- 数据库管理工具DBeaver,一个通用的数据库管理工具和 SQL 客户端,可以兼容多种数据库,更重要的是支持Linux系统。
- 权限Oracle数据库中的用户权限一个深入探究(Oracle下有哪些用户)
- 分析解析Redis缓存穿透 一个实例分析(redis 缓存穿透例子)
- PHP存取MySQL数据库的一个例子
- 一个分页的论坛
- asp又一个分页的代码例子
- asp.netAutoCompleteExtender的一个简单例子代码
- 一个简单的JS时间控件示例代码(JS时分秒时间控件)
- JS实现的一个简单的Autocomplete自动完成例子
- 一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子