 
      
    
    
      
        百度网盘音乐外链源码
      
      
    
   
  
  一、使用方法
复制下面的php代码,另存为文件baidupan.php,然后放到网站根目录。
baidupan.php| 12
 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
 
 
 
 
 $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");
 
 
 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;
 }
 ?>
 
 | 
 
二、获取网盘分享链接
上传音乐到百度网盘,分享并创建公开链接。

三、构造外链地址
例如音乐《神木村》的公开分享地址是:
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文件后用浏览器打开:
| 12
 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">
 
 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、加密shareid和uk的值,例如可以把数字加密为英文字母,在baidupan.php中再解密。
2、如果只想让自己帐号里的歌曲可以外链,可以判断uk的值。
因为每个百度帐号的uk的值都是不同的,比如我的帐号是1562437020,所以可以在baidupan.php第6行后加入判断,如果传进来的uk值不等于自己帐号的uk值就退出:  
| 12
 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。