支持的回个贴
A版本
存为UTF-8
如baidu.php?167413/3608716092
<?php
error_reporting(0);
header("Content-type:text/xml;charset=utf-8");
parse_str($_SERVER[QUERY_STRING]);
if(!$shareid||!$uk){
list($shareid,$uk)=explode(/,$_SERVER[QUERY_STRING]);
}
if($shareid&&$uk){
$url=http://pan.baidu.com/share/link?shareid=.$shareid.&uk=.$uk;
preg_match(|"dlink":"([^"]+)","|imsU,getStr($url),$dlink);
header("location:".stripslashes(stripslashes($dlink[1])));
}
function getStr($url){
for($i=0;$i<3;$i++){
$s=file_get_contents($url);
if($s){
return $s;
break;
}
}
die(未采集到网页内容);
}
?>
B版本:
用法将代码存为 baidu.php 调用的方法
baidu.php/百度字母id.mp3
baidu.php/百度shareid/百度ukid.mp3
<?php
$bdquery = (DIRECTORY_SEPARATOR==)?$_SERVER[PATH_INFO]:$_SERVER[QUERY_STRING];
$bdquery = ltrim($bdquery, /);
$bdquery = ltrim($bdquery,&);
$bdquery = reset(explode(&, $bdquery));
$bdquery = ltrim($bdquery, ?);
$bdquery = reset(explode(.,$bdquery));
define("MY_SHARE","http://pan.baidu.com/share/link?shareid=");
if (preg_match(|id/(\\d+)/uk/(\\d+)$|, $bdquery, $r)) {
list ($shareid, $uk) = array (
$r[1],
$r[2]
);
$url = MY_SHARE."$shareid&uk;=$uk";
}
elseif (preg_match(/^(d{3,})[-|/|_](d{3,})[-|/|_](d{3,})$/, $bdquery, $r)) {
list($shareid,$uk,$fid)=array($r[1],$r[2],$r[3]);
$url = MY_SHARE."$shareid&uk;=$uk&fid;=$fid";
}elseif (preg_match(/^(d{3,})[-|/|_](d{3,})$/, $bdquery, $r)) {
list($shareid,$uk)=array($r[1],$r[2]);
$url = MY_SHARE."$shareid&uk;=$uk";
}
elseif (preg_match(/^(w+)$/, $bdquery)) {
$url = http://pan.baidu.com/s/ . $bdquery;
}
elseif (preg_match(/^http:/, $bdquery)) {
$url = $bdquery;
}
if($url){
$str=fetch($url);
$md5=match(/file_md5="(w+)"/imsU,$str);
if(!$md5){
die($url."分享文件不存在.");
}
if(@!$uk){
$uk=match(/.share_uk="(\\d+)"/s,$str);
}
$shareid=match(/ViewShareUtils.fsId="(\\d+)"/,$str);
$app_id=match(|"app_id":"(d+)",|s,$str);
$fsid=$uk.-.$app_id.-.$shareid;
$time=match(/share_timestamp="(\\d+)"/s,$str);
$expires=$time+600;
$file=http://cdn.baidupcs.com/file/.$md5.?xcode=1a81b0bbd448fc368d78cc336e28561a&fid;=.$fsid.&time;=.$time.&to=cb&fm=N,B,T,t&expires;=.$expires.&rt=sh&sh=1&wsiphost=ipdbm;
header("location:$file");
}
function match($preg,$str){
preg_match($preg,$str,$arr);
return $arr[1];
}
function fetch($url,$head=false) {
$ag=Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.84 Safari/537.22 BIDUPlayerBrowser/2.6.2.53 BIDUTN/31;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$head and curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 6);
curl_setopt($ch, CURLOPT_USERAGENT, $ag);
$content = curl_exec($ch);
curl_close($ch);
return $content;
}
回复列表(2)