手机
当前位置:查字典教程网 >编程开发 >ASP教程 >用XMLHTTP很好的一个例子
用XMLHTTP很好的一个例子
摘要:进入www.ting88.com的网站,把歌手专辑页面的URL复制到文本框中再提交就可以得到歌曲的下载路径,如:http://www.tin...

进入www.ting88.com的网站,把歌手专辑页面的URL复制到文本框中再提交就可以得到歌曲的下载路径,如:http://www.ting88.com/MusicList/4141.htm

源程序如下:

<%

onerrorresumenext

dimid,url,getCode,m,i,j,s,d,ns,nd,num,name

id=trim(request.querystring("id"))

'1.获取原网页所有内容

FunctiongetHTTPPage(url)

dimhttp

sethttp=Server.createobject("Microsoft.XMLHTTP")

Http.open"GET",url,false

Http.send()

ifHttp.readystate<>4then

exitfunction

endif

getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")

sethttp=nothing

iferr.number<>0thenerr.Clear

Endfunction

'2.编码转换

FunctionBytesToBstr(body,Cset)

dimobjstream

setobjstream=Server.createObject("adodb.stream")

objstream.Type=1

objstream.Mode=3

objstream.Open

objstream.Writebody

objstream.Position=0

objstream.Type=2

objstream.Charset=Cset

BytesToBstr=objstream.ReadText

objstream.Close

setobjstream=nothing

EndFunction

'得到明码URL

functionMyReplace(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

endfunction

ifid="1"then

url=trim(request.form("txturl"))

ifurl=""then

response.redirect("GetMusic.asp")

response.end()

endif

'url="http://www.ting88.com/MusicList/1454.htm"

s=0

d=0

ns=0

nd=0

getCode=getHTTPPage(url)

num=mid(getCode,instrrev(getCode,".<ahref")-3,2)'获取歌曲的数目

name=mid(getCode,instr(getCode,"歌手姓名:")+5,10)'获取歌手

m="http://218.75.78.189/33445566/"

response.write"<center>该面页共找到"&name&"的<fontcolor=red>"&num&"</font>首歌曲"&"<br/><br/>"

response.write"<tablewidth='80%'border='1'bordercolor='#A4C8FF'cellpadding='0'cellspacing='0'><tr><td>页面URL:<ahref='"&url&"'target='_blank'>"&url&"</a></td></tr></table><hrwidth='80%'>"

response.write"<tablewidth='80%'border='0'cellpadding='0'cellspacing='0'bgcolor='#A4C8FF'><tr><td><tableborder='0'width='100%'cellpadding='2'cellspacing='1'><tr><tdalign=centerbgcolor='#FFFFFF'>序号</td><tdalign=centerbgcolor='#FFFFFF'>歌名</td><tdalign=centerbgcolor='#FFFFFF'>操作</td></tr>"

fori=1tonum

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><tdalign=centerbgcolor='#FFFFFF'>"&i&"</td><tdbgcolor='#FFFFFF'><ahref='"&m&MyReplace(mid(getCode,s+16,d-s-13))&"'>"&mid(getCode,ns+5,nd-ns-5)&"</a><br/></td><tdalign=centerbgcolor='#FFFFFF'><ahref='"&m&MyReplace(mid(getCode,s+16,d-s-13))&"'>下载</a></td></tr>"

next

response.write"</table></td></tr></table></center>"

endif

%>

<html>

<head>

<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">

<title>获取专辑歌曲的URL地址</title>

</head>

<body>

<formname="form1"method="post"action="GetMusic.asp?id=1">

<tablewidth='80%'border='0'align="center"cellpadding='0'cellspacing='0'bgcolor='#A4C8FF'>

<tr><td><tablewidth="100%"border="0"align="center"cellpadding="2"cellspacing="1">

<tr>

<tdheight="30">获取专辑歌曲的URL地址</td>

</tr>

<tr>

<tdheight="30"bgcolor="#FFFFFF">网页地址:

<inputname="txturl"type="text"id="txturl"size="80"maxlength="100"></td>

</tr>

<tr>

<tdheight="30"bgcolor="#FFFFFF"><inputtype="submit"name="Submit"value="提交"style="width:60">

<inputname="Reset"type="reset"id="Reset"value="重置"style="width:60"></td>

</tr>

</table></td></tr></table>

</form>

</body>

</html>

【用XMLHTTP很好的一个例子】相关文章:

使用ASP获得服务器网卡的MAC地址信息

ASP中一个字符串处理类

用JAVASCRIPT帮我写个计数器

怎样判断一个盘上是否有文件

使用ASP在IIS创建WEB站点的函数

[转]XMLHTTPRequest的属性和方法简介

sql语句的一些集合

送给搞采集的兄弟一个sql语句

XMLHTTP批量抓取远程资料

asp调用c#编制的com组件实例

精品推荐
分类导航