php获取蓝凑云文件列表,php调用蓝奏云下载接口

该博客内容是一个PHP脚本,用于从Lanzou网盘下载文件。它首先检查URL的有效性,然后通过正则表达式提取文件名。如果文件为IPA(iOS应用),它会进一步处理以获取下载链接。脚本使用cURL进行HTTP请求,并处理可能需要的密码。最后,根据$type参数,返回下载链接或直接重定向到下载页面。
摘要由CSDN通过智能技术生成

/**

* @package Lanzou

* @author Filmy

* @version 1.2.1

* @link https://mlooc.cn

*/

header('Access-Control-Allow-Origin:*');

header('Content-Type:application/json; charset=utf-8');

$url = isset($_GET['url']) ? $_GET['url'] : "";

$pwd = isset($_GET['pwd']) ? $_GET['pwd'] : "";

$type = isset($_GET['type']) ? $_GET['type'] : "";

if (empty($url)) {

die(

json_encode(

array(

'code' => 400,

'msg' => '请输入URL'

)

, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)

);

}

$softInfo = MloocCurlGet($url);

if (strstr($softInfo, "文件取消分享了") != false) {

die(

json_encode(

array(

'code' => 400,

'msg' => '文件取消分享了'

)

, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)

);

}

preg_match('~class="b">(.*?)~', $softInfo, $softName);

if(!isset($softName[1])){

preg_match('~

(.*?)
~', $softInfo, $softName);

}

if (strstr($softInfo, "手机Safari可在线安装") != false) {

if(strstr($softInfo, "n_file_infos") != false){

$ipaInfo = MloocCurlGet($url, 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1');

preg_match('~href="(.*?)" target="_blank" class="appa"~', $ipaInfo, $ipaDownUrl);

}else{

preg_match('~com/(\w+)~', $url, $lanzouId);

if (!isset($lanzouId[1])) {

die(

json_encode(

array(

'code' => 400,

'msg' => '解析失败,获取不到文件ID'

)

, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)

);

}

$lanzouId = $lanzouId[1];

$ipaInfo = MloocCurlGet("https://www.lanzous.com/tp/" . $lanzouId, 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1');

preg_match('~href="(.*?)" id="plist"~', $ipaInfo, $ipaDownUrl);

}

$ipaDownUrl = isset($ipaDownUrl[1]) ? $ipaDownUrl[1] : "";

if ($type != "down") {

die(

json_encode(

array(

'code' => 200,

'msg' => '',

'name' => isset($softName[1]) ? $softName[1] : "",

'downUrl' => $ipaDownUrl

)

, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)

);

} else {

header("Location:$ipaDownUrl");

die;

}

}

preg_match("~iframe.*?name=\"[\s\S]*?\"\ssrc=\"\/(.*?)\"~", $softInfo, $link);

$ifurl = "https://www.lanzous.com/" . $link[1];

$softInfo = MloocCurlGet($ifurl);

if (empty($pwd) && strstr($softInfo, "输入密码") != false) {

die(

json_encode(

array(

'code' => 400,

'msg' => '请输入分享密码'

)

, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)

);

}

preg_match("~=\s'(.*?)';[\S\s]*?=\s'(.*?)'[\S\s]*?=\s'(.*?)'[\S\s]*?=\s'(.*?)'~", $softInfo, $segment);

$post_data = array(

"action" => $segment[1],

"file_id" => $segment[2],

"t" => $segment[3],

"k" => $segment[4],

"c" => "",

"p" => $pwd,

);

$softInfo = MloocCurlPost($post_data, "https://www.lanzous.com/ajaxm.php", $ifurl);

$softInfo = json_decode($softInfo, true);

if ($softInfo['zt'] != 1) {

die(

json_encode(

array(

'code' => 400,

'msg' => $softInfo['inf']

)

, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)

);

}

$downUrl = $softInfo['dom'] . '/file/' . $softInfo['url'];

if ($type != "down") {

die(

json_encode(

array(

'code' => 200,

'msg' => '',

'name' => isset($softName[1]) ? $softName[1] : "",

'downUrl' => $downUrl

)

, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)

);

} else {

header("Location:$downUrl");

die;

}

function MloocCurlGet($url, $UserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36')

{

$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $url);

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);

if ($UserAgent != "") {

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);

$response = curl_exec($curl);

curl_close($curl);

return $response;

}

function MloocCurlPost($post_data, $url, $ifurl = '', $UserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36')

{

$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $url);

curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent);

if ($ifurl != '') {

curl_setopt($curl, CURLOPT_REFERER, $ifurl);

}

#关闭SSL

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);

#返回数据不直接显示

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($curl, CURLOPT_POST, 1);

curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);

$response = curl_exec($curl);

curl_close($curl);

return $response;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值