PHP获取蓝奏云直链的源码案例
可以用来做api调用到网站做下载
调用方法:
无密码:/lanzou/?url=/i1aesgj
有密码:/lanzou/?url=/i19pnjc&pwd=1pud
// 指定允许其他域名访问
header('Access-Control-Allow-Origin:*');
function MloocCurl($url,$method,$ifurl,$post_data){
$UserAgent = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36';#设置UserAgent
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent);
#关闭SSL
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
#返回数据不直接显示
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
if ($method == "post") {
curl_setopt($curl, CURLOPT_REFERER, $ifurl);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
}
$response = curl_exec($curl);
curl_close($curl);
return $response;
}
if (!empty($_GET['url'])) {
$url = $_GET['url'];
#判断文件是否被取消
if (strstr(MloocCurl($url,null,null,null),"来晚啦...文件取消分享了") != false) {
echo "文件取消分享了";
exit;
}
#第一步
$ruleMatchDetailInList = "~ifr2\"\sname=\"[\s\S]*?\"\ssrc=\"\/(.*?)\"~";#正则表达式
preg_match($ruleMatchDetailInList, MloocCurl($url,null,null,null),$link);
$ifurl = "/".$link[1];
#第二步
$ruleMatchDetailInList = "~=\s'(.*?)';[\S\s]*?=\s'(.*?)'[\S\s]*?=\s'(.*?)'[\S\s]*?=\s'(.*?)'~";#正则表达式
preg_match($ruleMatchDetailInList, MloocCurl($ifurl,null,null,null),$segment);
#第三步
#post提交的数据
$post_data = array(
"action" => $segment[1],
"file_id" => $segment[2],
"t" => $segment[3],
"k" => $segment[4]
);
$obj = json_decode(MloocCurl("/ajaxm.php","post",$ifurl,$post_data));#json解析
if($obj->inf != "0" && !isset($_GET['pwd'])){
echo "该链接需要密码";
exit;
}elseif ($obj->inf != "0" && isset($_GET['pwd'])) {
$post_data = array(
"action" => $segment[1],
"file_id" => $segment[2],
"t" => $segment[3],
"k" => $segment[4],
"p" => $_GET['pwd']
);
$obj = json_decode(MloocCurl("/ajaxm.php","post",$ifurl,$post_data));#json解析
}
if ($obj->dom == "") {#判断链接是否正确
echo "链接有误!";
exit;
}else{
$downUrl = $obj->dom."/file/".$obj->url;
if (!empty($_GET['type'])) {
$type = $_GET['type'];
if ($type == "down") {
header('Location:'.$downUrl);#直接下载
}else{
echo $downUrl;#输出直链
}
}else{
echo $downUrl;#输出直链
}
}
}else{
$result_url = str_replace("index.php","","//".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?url=/i1aesgj");
$result_url_pwd = str_replace("index.php","","//".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?url=/i19pnjc");
echo "url:蓝奏云外链链接";
echo "
";
echo "type:是否直接下载 值:down";
echo "
";
echo "pwd:外链密码";
echo "
";
echo "直接下载:";
echo "
";
echo "无密码:".$result_url."&type=down";
echo "
";
echo "有密码:".$result_url_pwd."&type=down&pwd=1pud";
echo "
";
echo "输出直链:";
echo "
";
echo "无密码:".$result_url."";
echo "
";
echo "有密码:".$result_url_pwd."&pwd=1pud";
}
?>
如果觉得《php蓝奏云解析源码 PHP获取蓝奏云直链解析源码》对你有帮助,请点赞、收藏,并留下你的观点哦!