访问试听页面,由于使用了windows media player插件,所以一定能够拿到音频文件的播放地址,就看对方隐藏的巧妙程度了。。。
1.音频文件页面http://wuquku.com/music-play-9923.html,看了一下没有将地址存放在html页面中;
2.继续找,找到是通过Ajax形式进行加载,9923是音乐id;
3.发送ajax请求获取音频文件地址:http://wuquku.com/template/music/ajax.php?action=geturl&t=p&id=9923
返回音频文件的地址
http%3A%2F%2Fwuqukumms.wuquku.com%2F%u4ea4%u8c0a%u821e%u66f2%2F%u5e7f%u573a%u821e%2F20110003%2F%7B%u5e7f%u573a%u96c6%u4f53%u821e%u66f2%7D%u547d%u8fd0%u4e0d%u662f%u8f98%u8f73%28ok%u771f%u5fc3%u4e0a%u4f20%29wuquku%u53d1%u5e03.mp3
注意:HTTP GET请求中必须有Referer选项,且必须是wuquku域名下,否则Ajax请求返回空;
4.对url地址进行unescape,可以直接用js的unescape方法获取地址,也可以用一下的java代码的uncaspe函数进行转义
class EscapeUnescape {
public static String escape(String src) {
int i;
char j;
StringBuffer tmp = new StringBuffer();
tmp.ensureCapacity(src.length() * 6);
for (i = 0; i < src.length(); i++) {
j = src.charAt(i);
if (Character.isDigit(j) || Character.isLowerCase(j) || Character.isUpperCase(j))
tmp.append(j);
else if (j < 256) {
tmp.append("%");
if (j < 16)
tmp.append("0");
tmp.append(Integer.toString(j, 16));
} else {
tmp.append("%u");
tmp.append(Integer.toString(j, 16));
}
}
return tmp.toString();
}
public static String unescape(String src) {
StringBuffer tmp = new StringBuffer();
tmp.ensureCapacity(src.length());
int lastPos = 0, pos = 0;
char ch;
while (lastPos < src.length()) {
pos = src.indexOf("%", lastPos);
if (pos == lastPos) {
if (src.charAt(pos + 1) == 'u') {
ch = (char) Integer.parseInt(src.substring(pos + 2, pos + 6), 16);
tmp.append(ch);
lastPos = pos + 6;
} else {
ch = (char) Integer.parseInt(src.substring(pos + 1, pos + 3), 16);
tmp.append(ch);
lastPos = pos + 3;
}
} else {
if (pos == -1) {
tmp.append(src.substring(lastPos));
lastPos = src.length();
} else {
tmp.append(src.substring(lastPos, pos));
lastPos = pos;
}
}
}
return tmp.toString();
}
public static void main(String[] args) {
String tmp = "~!@#$%^&*()_+|\\=-,./?><;'][{}\"";
System.out.println("testing escape : " + tmp);
tmp = escape(tmp);
System.out.println(tmp);
System.out.println("testing unescape :" + tmp);
System.out.println(unescape(tmp));
}
}
分享到:
相关推荐
mid音频文件下载,小容量音频下载,mid音频文件下载,小容量音频下载,
根据数字音频的产生过程可知,相对自然界的信号,音频编码最多只能做到无限接近,至少目前的技术只能这样了,任何数字音频编码方案都是有损的,因为无法完全还原。在计算机应用中,能够达到最高保真水平的就是PCM...
亲测可用,java调用百度语音服务,传入pcm音频文件。获取到音频文件中的内容转换成字符。该文件最后展示的文字是 -----“北京科技馆”
用来测试的pcm音频文件,和wav音频文件。 有对应的三对wav和pcm一一对应
amr格式的音频文件,是当年步步高手机广告音乐,可以用来测试微信公众号被动回复语音信息.
pcm 音频文件,有需要的可以下载.pcm 音频文件,有需要的可以下载.
wav音频文件,供测试用
很酷的文件加密软件。 很酷的文件加密软件。
这个是1KHZ正弦波音频测试文件,方便Debug音频问题。
包含6个AAC文件(50KB~1000KB)、6个MP3文件(50KB~1000KB)
wav 文件下载播放功能,一些后台代码,前台js可直接通过路径调用方法
文件包含常见的15种视频文件(avi/mp4/flv/wmv/vob/rmvb...)和13种音频文件(mp3/mp2/ogg/wav/m4a...)。长度大概在10秒左右,用于常规测试,欢迎大家下载
几个PCM格式的音频音乐文件,可用于做音频文件测试使用
5.1声道测试音频文件 aac解码 quicktime/mov容器
测试用的0DB WAV音频文件 1KHz-stero 10KHz-stero 20Hz-stero
12种测试音频格式测试文件,mp3,ACU,flac等等
1.包含所有汉字的读音音频wav文件
用来音频测试用的PCM 格式 音乐文件。包含8k,16k,44.1k,48k 等常见采样频率,音质清晰,经典歌曲,有 昨日重现,say you say me ,春水流。
音频测试文件,各种格式集合 wav p音频测试文件,各种格式集合 wav pcm mp3音频测试文件,各种格式集合 wav pcm mp3m mp3
PC版的喜马拉雅客户端下载的m4a文件,名称是一串数字,真实名称被保存到一个list.json,通过解析该文件,实现批量重命名下载的视听文件。 该脚本的主要功能是:把下载的文件重命名为“真实名称.mp3” 使用方法: 1.将...