用XMLHTTP很好的一个例子

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

相关推荐

  • 用XMLHTTP很好的一个例子

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

  • 很实用的一个完整email发送程序

    很实用的一个完整email发送程序,很简单,把下列代码复制到一个空白文本页面,如index.php,运行就行了.具体实例:http://zsvalley.uhome.net/email/index.php. 以下是完整的源代码:(有任何问题请email:zsvalley@cmmail.com) <? if ($ok=='yes'){ //        SetCookie("yname", $yname);  //        SetCookie("yemail&qu

  • java EJB 加密与解密原理的一个例子

    加密与解密原理的一个例子 package lockunlock; import Java.awt.*;  import java.awt.event.*;  import java.Applet.*;  import javax.Swing.*;  import java.util.*;  public class LockUnlock extends JApplet {  private boolean isStandalone = false;  //Get a parameter valu

  • 使用JSP + JAVABEAN + XML 开发的一个例子

    本例子是参考了一些网站上有关JSP 对 XML 的操作的相关文档,又结合了一些个人的体会.例子涉及的内容是,开发的一个企业内部定餐系统后台管理端的部分代码,功能主要集中在对于餐馆基本信息的管理. 该例子本身开发的起因是我在原公司和同事们一个玩笑的一部分.特此也表达对那些一起共事的朋友们的想念. 例子本身是在TOMCAT4.01 平台下运行的B/S结构的程式.有关TOMCAT 的配置,这里不做说明.只讲解一下相关文件及文件夹的目录结构. 目录结构说明:/tomcat/webapps/canyin/

  • 一个例子轻松学会Vue.js

    大家都知道Vue.js是中国人创造出来的,简单易用,所以必须要支持一下 Vue采用的MVVM设计模式 也就是说model和view绑定 model改变,view的内容改变,反之亦然 Vue主要有以下几个关键字 v-model 绑定模型 v-if 判断是否显示该dom v-show 判断是否将该dom的display设为none v-else if或者show为false时显示该dom v-for 迭代 v-bind 绑定属性 v-on 绑定方法 我们以一个可查找的信息管理系统为例子 <!DOCT

  • jquery validation插件表单验证的一个例子

    messages_cn.js <!--验证国际化,中文--> (不引用messages_cn.js是英文的提示,用了是中文) 复制代码 代码如下: required: "This field is required.", remote: "Please fix this field.", email: "Please enter a valid email address.", url: "Please enter a va

  • 一个例子带你看懂Java中synchronized关键字到底怎么用

    目录 前言 使用同步方法 使用同步语句或块 什么是同步? 为啥需要同步? 总结 前言 在平时开发中,synchronized关键字经常遇到,你知道synchronized怎么用吗?本文给大家介绍一下. 我们有两种方法使用同步: 使用同步方法 使用同步语句或块 使用同步方法 要使方法同步,只需将synchronized关键字添加到其声明中: public class SynchronizedDemo { private int i = 0; public synchronized void add

  • php 面向对象的一个例子

    复制代码 代码如下: <?php class person{ //下面是人的成员属性 var $name; //人的名字 var $sex; //人的性别 var $age; //人的年龄 //定义一个构造方法参数为姓名$name,性别$sex和年龄$age function __construct($name,$sex,$age){ //通过构造方法传进来的$name给成员属性$this->name赋初始值 $this->name=$name; //通过构造方法传进来的$sex给成员属

  • PHP 存取 MySQL 数据库的一个例子

    <body> <center> <h2>PHP+MySQL 例子</h2> <h3><u><font color=brown>请在文本区域输入数据并且确定 </font></u></h3> <form action="<? echo $PHP_SELF?>" method=POST> <textarea cols=40 rows=5 na

  • 扩展性很好的一个分页存储过程分享

    这是经常用的一个分页存储过程 希望大家指点不足 复制代码 代码如下: USE [a6756475746] GO /****** Object: StoredProcedure [dbo].[tbl_order_SearchWhereAndPage] Script Date: 11/01/2011 09:37:39 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[tbl_order_Se

随机推荐