最新蓝奏云直连解析API接口php代码

 25807

最新蓝奏云直连解析API接口php代码

API接口说明

支持检测文件是否被取消

支持带密码的文件分享链接但不支持分享的文件夹

支持生成直链或直接下载

增加ios应用在线安装

解析最终直链

自动识别旧版链接替换为新版并解析

接口使用方法

url:蓝奏云外链链接

type:是否直接下载 值:down

pwd:外链密码

直接下载:

无密码:您的域名/lanzou/?url=https://www.lanzous.com/i6th9cd&type=down

有密码:您的域名/lanzou/?url=https://www.lanzous.com/i42Xxebssfg&type=down&pwd=1234

输出直链:

无密码:您的域名/lanzou/?url=https://www.lanzous.com/i6th9cd

有密码:您的域名/lanzou/?url=https://www.lanzous.com/i42Xxebssfg&pwd=1234

API接口代码

  1. <?php
  2. /**
  3.  * @package Lanzou
  4.  * @author Filmy,hanximeng
  5.  * @version 1.2.6
  6.  * @Date 2022-03-03
  7.  */
  8. header('Access-Control-Allow-Origin:*');
  9. header('Content-Type:application/json; charset=utf-8');
  10. //默认UA
  11. $UserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36';
  12. $url = isset($_GET['url']) ? $_GET['url'] : "";
  13. $pwd = isset($_GET['pwd']) ? $_GET['pwd'] : "";
  14. $type = isset($_GET['type']) ? $_GET['type'] : "";
  15. if (empty($url)) {
  16.     die(
  17.     json_encode(
  18.         array(
  19.             'code' => 400,
  20.             'msg' => '请输入URL'
  21.         )
  22.         , JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)
  23.     );
  24. }
  25. //一个简单的链接处理
  26. $url='https://www.lanzoux.com/'.explode('.com/',$url)['1'];
  27. $softInfo = MloocCurlGet($url);
  28. if (strstr($softInfo, "文件取消分享了") != false) {
  29.     die(
  30.     json_encode(
  31.         array(
  32.             'code' => 400,
  33.             'msg' => '文件取消分享了'
  34.         )
  35.         , JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)
  36.     );
  37. }
  38. preg_match('~style="font-size: 30px;text-align: center;padding: 56px 0px 20px 0px;">(.*?)<\/div>~', $softInfo, $softName);
  39. if(!isset($softName[1])){
  40. preg_match('~<div class="n_box_fn".*?>(.*?)</div>~', $softInfo, $softName);
  41. }
  42. preg_match('~<div class="n_filesize".*?>大小:(.*?)</div>~', $softInfo, $softFilesize);
  43. if(!isset($softName[1])){
  44. preg_match('~var filename = \'(.*?)\';~', $softInfo, $softName);
  45. }
  46. if (strstr($softInfo, "手机Safari可在线安装") != false) {
  47.   if(strstr($softInfo, "n_file_infos") != false){
  48.       $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');
  49.     preg_match('~href="(.*?)" target="_blank" class="appa"~', $ipaInfo, $ipaDownUrl);
  50.     }else{
  51.     preg_match('~com/(\w+)~', $url, $lanzouId);
  52.         if (!isset($lanzouId[1])) {
  53.             die(
  54.             json_encode(
  55.                 array(
  56.                     'code' => 400,
  57.                     'msg' => '解析失败,获取不到文件ID'
  58.                 )
  59.                 , JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)
  60.             );
  61.         }
  62.         $lanzouId = $lanzouId[1];
  63.         $ipaInfo = MloocCurlGet("https://www.lanzoux.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');
  64.         preg_match('~href="(.*?)" id="plist"~', $ipaInfo, $ipaDownUrl);
  65.     }
  66.      
  67.     $ipaDownUrl = isset($ipaDownUrl[1]) ? $ipaDownUrl[1] : "";
  68.     if ($type != "down") {
  69.         die(
  70.         json_encode(
  71.             array(
  72.                 'code' => 200,
  73.                 'msg' => '',
  74.                 'name' => isset($softName[1]) ? $softName[1] : "",
  75.                 'downUrl' => $ipaDownUrl
  76.             )
  77.             , JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)
  78.         );
  79.     } else {
  80.         header("Location:$ipaDownUrl");
  81.         die;
  82.     }
  83. }
  84. if(strstr($softInfo, "function down_p(){") != false){
  85. if(empty($pwd)){
  86. die(
  87. json_encode(
  88. array(
  89. 'code' => 400,
  90. 'msg' => '请输入分享密码'
  91. )
  92. , JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)
  93. );
  94. }
  95. preg_match("~action=(.*?)&sign=(.*?)&p='\+(.*?),~", $softInfo, $segment);
  96. $post_data = array(
  97. "action" => $segment[1],
  98. "sign" => $segment[2],
  99. "p" => $pwd
  100. );
  101. $softInfo = MloocCurlPost($post_data, "https://www.lanzoux.com/ajaxm.php", $url);
  102. $softName[1] = json_decode($softInfo,JSON_UNESCAPED_UNICODE)['inf'];
  103. }else{
  104. preg_match("~\n<iframe.*?name=\"[\s\S]*?\"\ssrc=\"\/(.*?)\"~", $softInfo, $link);
  105. $ifurl = "https://www.lanzoux.com/" . $link[1];
  106. $softInfo = MloocCurlGet($ifurl);
  107. preg_match_all("~pdownload = '(.*?)'~", $softInfo, $segment);
  108. if(empty($segment[1][0])){
  109. preg_match_all("~ispostdowns = '(.*?)'~", $softInfo, $segment);
  110. }
  111. if(empty($segment[1][0])){
  112. preg_match_all("~'sign':'(.*?)'~", $softInfo, $segment);
  113. }
  114. $post_data = array(
  115. "action" => 'downprocess',
  116. "signs"=>"?ctdf",
  117. "sign" => $segment[1][0],
  118. );
  119. $softInfo = MloocCurlPost($post_data, "https://www.lanzoux.com/ajaxm.php", $ifurl);
  120. }
  121. $softInfo = json_decode($softInfo, true);
  122. if ($softInfo['zt'] != 1) {
  123.     die(
  124.     json_encode(
  125.         array(
  126.             'code' => 400,
  127.             'msg' => $softInfo['inf']
  128.         )
  129.         , JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)
  130.     );
  131. }
  132. $downUrl1 = $softInfo['dom'] . '/file/' . $softInfo['url'];
  133. //解析最终直链地址
  134. $downUrl2 = MloocCurlHead($downUrl1,"http://developer.store.pujirc.com",$UserAgent,"down_ip=1; expires=Sat, 16-Nov-2019 11:42:54 GMT; path=/; domain=.baidupan.com");
  135. if($downUrl2 == ""){
  136. $downUrl = $downUrl1;
  137. }else{
  138. $downUrl = $downUrl2;
  139. }
  140. if ($type != "down") {
  141.     die(
  142.     json_encode(
  143.         array(
  144.             'code' => 200,
  145.             'msg' => '',
  146.             'name' => isset($softName[1]) ? $softName[1] : "",
  147.             'filesize' => isset($softFilesize[1]) ? $softFilesize[1] : "",
  148.             'downUrl' => $downUrl
  149.         )
  150.         , JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)
  151.     );
  152. } else {
  153.     header("Location:$downUrl");
  154.     die;
  155. }
  156. function MloocCurlGetDownUrl($url)
  157. {
  158.     $header = get_headers($url,1);
  159.     if(isset($header['Location'])){
  160. return $header['Location'];
  161. }
  162. return "";
  163. }
  164. function MloocCurlGet($url = '', $UserAgent = '')
  165. {
  166.     $curl = curl_init();
  167.     curl_setopt($curl, CURLOPT_URL, $url);
  168.     curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  169.     if ($UserAgent != "") {
  170.         curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent);
  171.     }
  172.     curl_setopt($curl, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:'.Rand_IP(), 'CLIENT-IP:'.Rand_IP()));
  173.     #关闭SSL
  174.     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  175.     curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
  176.     #返回数据不直接显示
  177.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  178.     $response = curl_exec($curl);
  179.     curl_close($curl);
  180.     return $response;
  181. }
  182. function MloocCurlPost($post_data = '', $url = '', $ifurl = '', $UserAgent = '')
  183. {
  184.     $curl = curl_init();
  185.     curl_setopt($curl, CURLOPT_URL, $url);
  186.     curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent);
  187.     if ($ifurl != '') {
  188.         curl_setopt($curl, CURLOPT_REFERER, $ifurl);
  189.     }
  190.     curl_setopt($curl, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:'.Rand_IP(), 'CLIENT-IP:'.Rand_IP()));
  191.     #关闭SSL
  192.     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  193.     curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
  194.     #返回数据不直接显示
  195.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  196.     curl_setopt($curl, CURLOPT_POST, 1);
  197.     curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
  198.     $response = curl_exec($curl);
  199.     curl_close($curl);
  200.     return $response;
  201. }
  202. //直链解析函数
  203. function MloocCurlHead($url,$guise,$UserAgent,$cookie){
  204. $headers = array(
  205. 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
  206. 'Accept-Encoding: gzip, deflate',
  207. 'Accept-Language: zh-CN,zh;q=0.9',
  208. 'Cache-Control: no-cache',
  209. 'Connection: keep-alive',
  210. 'Pragma: no-cache',
  211. 'Upgrade-Insecure-Requests: 1',
  212. 'User-Agent: '.$UserAgent
  213. );
  214. $curl = curl_init();
  215. curl_setopt($curl, CURLOPT_URL, $url);
  216. curl_setopt($curl, CURLOPT_HTTPHEADER,$headers);
  217. curl_setopt($curl, CURLOPT_REFERER, $guise);
  218. curl_setopt($curl, CURLOPT_COOKIE , $cookie);
  219. curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent);
  220. curl_setopt($curl, CURLOPT_NOBODY, 0);
  221. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  222. curl_setopt($curl, CURLINFO_HEADER_OUT, TRUE);
  223. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  224. $data = curl_exec($curl);
  225. $url=curl_getinfo($curl);
  226. curl_close($curl);
  227. return $url["redirect_url"];
  228. }
  229. function Rand_IP(){
  230.     $ip2id = round(rand(600000, 2550000) / 10000);
  231.     $ip3id = round(rand(600000, 2550000) / 10000);
  232.     $ip4id = round(rand(600000, 2550000) / 10000);
  233.     $arr_1 = array("218","218","66","66","218","218","60","60","202","204","66","66","66","59","61","60","222","221","66","59","60","60","66","218","218","62","63","64","66","66","122","211");
  234.     $randarr= mt_rand(0,count($arr_1)-1);
  235.     $ip1id = $arr_1[$randarr];
  236.     return $ip1id.".".$ip2id.".".$ip3id.".".$ip4id;
  237. }
  238. ?>


本文网址:https://www.zztuku.com/index.php/detail-11930.html
站长图库 - 最新蓝奏云直连解析API接口php代码
申明:如有侵犯,请 联系我们 删除。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐