用XMLHTTP很好的一个例子(原创)

        虽然ting88没有注册的用户不能下载歌曲,但搞定它也非难事啊:)

        进入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>

备注:本程序只是演示程序的功能,请勿盗取他人网站数据,否则后果自负!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值