抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

一、使用方法

复制下面的php代码,另存为文件baidupan.php,然后放到网站根目录。

baidupan.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
//以下的代码已经失效,现在本站的外链用的是PCS的链接,虽然能保持原来的外链地址不变,
//但是发现有安全问题,所以暂时不要用这个方法。

//最后修改时间:2013-11-04
//构造百度网盘分享网址
$uri = $_SERVER["REQUEST_URI"];
preg_match('|\/(\d+)\/(\d+)\.|', $uri, $res);
if ($res) {
list($shareid, $uk) = array_slice($res, 1, 2);
$url = "http://pan.baidu.com/share/link?shareid=$shareid&uk=$uk";
} else {
preg_match('|\/.+\/(\w+)\.|', $uri, $res);
$url = "http://pan.baidu.com/s/".$res[1];
}

//匹配源码里面的音乐地址并跳转
$src = curl_get_contents($url);
preg_match('|http://.+file.+sign[^"]+|', $src, $res);
$songurl = html_entity_decode($res[0]);
header("location:$songurl");

//用curl获取网页源码
function curl_get_contents($url) {
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_USERAGENT, "Iphone");
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
$src = curl_exec($curl);
curl_close($curl);
return $src;
}
?>

二、获取网盘分享链接

上传音乐到百度网盘,分享并创建公开链接。
This is a picture without description

三、构造外链地址

例如音乐《神木村》的公开分享地址是:
http://pan.baidu.com/share/link?shareid=785331966&uk=1562437020
则外链地址为:
http://www.poboke.com/baidupan.php/785331966/1562437020.mp3

百度网盘新版的分享地址为:
http://pan.baidu.com/s/1zeurs
则外链地址为:
http://www.poboke.com/baidupan.php/1zeurs.mp3

四、自动转换外链

下面是自动转换外链的代码,另存为html文件后用浏览器打开:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>百度音乐外链转换——破博客</title>
</head>

<script type="text/javascript">
//最后修改时间:2013-09-28
function Change() {
var filepath = "http://" + window.location.host + "/baidupan.php/";
var url = document.getElementById("text1").value;
if (url.indexOf("?") > 0) {
eval(url.split("?").pop().replace("&", ";"));
var songurl = filepath + shareid + "/" + uk + ".mp3";
} else {
var key = url.split("&")[0].split("/").pop();
var songurl = filepath + key + ".mp3";
}
document.getElementById("text2").value = songurl;
}
</script>

<body>
分享地址:<input id="text1" type="TEXT" value="" size="100"/><br />
外链地址:<input id="text2" type="TEXT" value="" size="100"/><br />
<input type="BUTTON" value="转换" onclick="Change()"/>
</body>
</html>

五、防止盗链的方法

1、加密shareiduk的值,例如可以把数字加密为英文字母,在baidupan.php中再解密。
2、如果只想让自己帐号里的歌曲可以外链,可以判断uk的值。
因为每个百度帐号的uk的值都是不同的,比如我的帐号是1562437020,所以可以在baidupan.php第6行后加入判断,如果传进来的uk值不等于自己帐号的uk值就退出:

1
2
3
if ($uk != "1562437020") {
exit(0);
}

3、百度网盘更新分享地址后,分享地址里面没有uk值了,可以用两种方法解决。
(1)在baidupan.php文件中获取源码,然后匹配出源码里面的uk值。
(2)把新的分享地址转换为旧的分享地址,比如新的地址是:http://pan.baidu.com/s/1zeurs
先获取网页源码,可以看到网页源码里面有一段代码为:

1
FileUtils.share_uk="1562437020";FileUtils.share_id="785331966";

这就是uk和shareid的值了,拼成旧分享地址后可以正常访问,地址为:
http://pan.baidu.com/share/link?shareid=785331966&uk=1562437020

六、其它问题

问:播放音乐会不会消耗空间流量?
答:播放一次音乐会消耗一次访问百度网盘网页的流量,大概6Kb。

评论