360云盘外链解析php源码

作者:Matrix 被围观: 9,227 次 发布时间:2013-10-19 分类:兼容并蓄 码字型 零零星星 | 34 条评论 »

NOTICE:这是一个创建于 1143 天前的主题,其中的信息可能已经有所发展或是发生改变。

用火狐的firebug插件看到云盘的下载过程是通过post提交获得json数据(期间会检查REFERER),之后再跳转到下载地址。

查看post提交数据

 

图片外链演示:

360yunpan图片外链演示

mp3外链失败,但是下载的话没问题(后来才知道是360防盗链的Referer缘故):

源码下载[已失效]:

城通  http://www.400gb.com/file/55758296
baidu http://pan.baidu.com/s/1kTGjyZX
代码[已失效]:

  1. <?php
  2. /** 
  3.  * 2014-1-27更新  
  4.  修改正则匹配
  5.  * Author:不懂就乱来
  6.  * Website:http://www.hhtjim.com
  7.  **/
  8.     error_reporting(0);
  9.     function curl_get($url,$post=0,$carry_header=true,$REFERER_=0,$useragent=0,$add_arry_header=0){
  10.         $ch=curl_init($url);
  11.         //curl_setopt($ch, CURLOPT_HEADER, 1);
  12.         if($carry_header){
  13.             curl_setopt($ch, CURLOPT_HTTPHEADER, array('User-Agent:Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7D11 Safari/528.16'));
  14.         }
  15.         if($add_arry_header){
  16.             curl_setopt($ch, CURLOPT_HTTPHEADER, $add_arry_header);
  17.         }
  18.         if ($post) {
  19.             curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
  20.         }
  21.         if($REFERER_){
  22.             curl_setopt($ch, CURLOPT_REFERER,$REFERER_);
  23.         }
  24.         if($useragent){
  25.             curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
  26.         }
  27.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  28.         $get_url = curl_exec($ch);
  29.         curl_close($ch);
  30.         return $get_url;
  31.     }
  32.     function curl_get_http($url,$REFERER_,$add_arry_header=0){
  33.         $curl = curl_init($url);
  34.         curl_setopt($curl, CURLOPT_HEADER, 1);
  35.         curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  36.         if($REFERER_){curl_setopt($curl, CURLOPT_REFERER,$REFERER_);}
  37.         if($add_arry_header){
  38.             curl_setopt($curl, CURLOPT_HTTPHEADER, $add_arry_header);
  39.         }
  40.         curl_setopt($curl, CURLOPT_TIMEOUT, 10);
  41.         $src = curl_exec($curl);
  42.         curl_close($curl);
  43.         return $src ;
  44.     }
  45. if(isset($_GET['360'])){//360云盘下载
  46.         $_url=$_GET['360'];
  47.         $yunpanhtml=curl_get($_url);
  48.         if(emptyempty($yunpanhtml)){
  49.             $_yunpanur__=curl_get_http($_url);
  50.             preg_match("|http:\/\/\w+\.\w+\.yunpan\.cn\/lk\/\w+|",$_yunpanur__,$yunpanhtml_n);
  51.             $yunpanhtml_new=curl_get($yunpanhtml_n[0]);
  52.             }else{
  53.             $yunpanhtml_new=$yunpanhtml;
  54.             }
  55.         $yunpanzz="|SYS_CONF = {[^}]+surl: '(\w+)'[^}]+nid : '(\d+)'[^}]+}|";
  56.         preg_match($yunpanzz,$yunpanhtml_new,$yunpancs);
  57.         $nid = $yunpancs[2] ? $yunpancs[2] : exit('ERROR code: Not found SYS_CONF {nid}');
  58.         $shorturl = $yunpancs[1] ? $yunpancs[1] : exit('ERROR code: Not found SYS_CONF {shorturl}');
  59.         if(!strpos($_url,"yunpan.cn/lk")){//获取postURL地址
  60.             $postht_get=curl_get_http($_url);
  61.             preg_match('|(http:\/\/\w+\.\w+\.yunpan\.cn)\/lk\/\w+|',$postht_get,$posthttpu);
  62.             $post_url=$posthttpu[1].'/share/downloadfile/';
  63.         }
  64.         else{
  65.             preg_match('|(http:\/\/\w+\.\w+\.yunpan\.cn)\/lk\/\w+|',$_url,$yun_url);
  66.             $post_url=$yun_url[1].'/share/downloadfile/';
  67.         }
  68.         $post_data = array('nid' => $nid, 'shorturl' => $shorturl);
  69.         $useragent = "BlackBerry/3.6.0";
  70.         $rt=curl_get($post_url,$post_data,0,$_url,$useragent,0);
  71.         $obj = json_decode($rt);
  72.         $errmsg=$obj->errmsg;
  73.         if(strpos($errmsg,"成功")){
  74.             $dll=$obj->data->downloadurl;
  75.             $dl_out = $dll ? $dll : exit('Can not get YunPan Download url!Please Check <a href="http://www.hhtjim.com/message-wall">here</a> .') ;
  76.             header("Location: $dl_out");}
  77.         else{
  78.             header("Content-Type: text/html; charset=utf-8");
  79.             echo '360云盘:'.$errmsg.'</br>Please Check <a href="http://www.hhtjim.com/message-wall">here</a> .';
  80.         }
  81.     }
  82.     exit('DIE!');
  83. ?>

说明:将以上代码保存为yunpan.php

若放在360目录需要修改22行/yunpan.php为/360/yunpan.php

代码不够精简,只有这样了。

1-27更新正则匹配,可保存为任意php文件名。

调用下载:http://XXX/yunpan.php?360=360云盘地址

支持两种360云盘URL格式

http://yunpan.cn/QXJ786DeBjeiW

http://ajvvqzy2v8.l29.yunpan.cn/lk/QXJ786DeBjeiW

转换地址:http://link.hhtjim.com/

 

本文固定链接:http://www.hhtjim.com/360-cloud-plate-outer-chain-parse-php-source-code.html
Matrix
本文章由 Matrix 于2013年10月19日发布在兼容并蓄, 码字型, 零零星星分类下,目前没有通告,你可以至底部留下评论。
转载请注明:360云盘外链解析php源码-HHTjim'S 部落格
关键字:, , ,

有34 条评论 »

  1. 邪小冷 邪小冷 2015-6-26 11:25:10 +0800#16

    博主你好,我在研究解析出来的播放的,解析得到下载地址后,如何调用播放呢?

    • Matrix Matrix Moderator 2015-6-26 19:20:39 +0800

      你可以使用HTML5的audio标签播放音频
      http:/ /www.w3school.com.cn/tags/tag_audio.asp

  2. tcs123 tcs123 2015-6-16 16:45:29 +0800#15

    博主,我也在学习怎么解析网盘,看了下,就是post到密码校验地址,获取cookie,然后再去请求文件页面,获取nid 然后再post到下载地址,返回json数据,里面包含下载地址,但是不知道为什么,一直都获取不到cookie.能教教我吗?

    • Matrix Matrix Moderator 2015-6-16 19:04:08 +0800

      这个页面的代码已经失效了。原理都一样。就是抓包,然后用php模拟。
      获取cookie。。。使用curl函数需要开启CURLOPT_HEADER获取服务器返回的响应头 里面的set-cookie值就是你要的了

  3. E度教育 E度教育 2014-12-28 19:42:11 +0800#14

    你最新的代码什么时候公布,调用

  4. qq小清新头像 qq小清新头像 2014-9-21 23:36:42 +0800#13

    外链转换工具又崩了。。

    • Matrix Matrix Moderator 2014-9-26 10:51:33 +0800

      放在jae,已习惯

  5. 我爱玩 我爱玩 2014-9-21 4:12:36 +0800#12

    🙂 这个不是最新的代码吧

    • Matrix Matrix Moderator 2014-9-21 16:18:43 +0800

      的确不是,最新的没有想过

    • Matrix Matrix Moderator 2014-9-21 16:19:29 +0800

      自己鼓捣吧 祝你好运~ 🙄

  6. i6618.com i6618.com 2014-9-18 14:07:59 +0800#11

    怎么下载的解析提示 ERROR code: Not found SYS_CONF {nid}
    是怎么回事啊?

    • Matrix Matrix Moderator 2014-9-18 20:20:43 +0800

      此页面的代码已经失效!

  7. 阿花 阿花 2014-2-19 1:51:51 +0800#10

    😛 太强劲了,希望老大 持续跟新

  8. 五度 五度 2014-2-10 12:56:08 +0800#9

    😀 测试了下,360的云盘速度比企鹅的微云快多了

  9. 五度 五度 2014-2-10 11:36:02 +0800#8

    请问下你这个PHP怎么来调用啊,给个范例可以莫?我是复制代码存在根目录的。

    • Matrix Matrix Moderator 2014-2-10 11:58:10 +0800

      调用下载:http://XXX/yunpan.php?360=360云盘地址

      • 五度 五度 2014-2-10 12:17:40 +0800

        http://card.5dogame.com/yunpan.php?360=http://awiffrtdyt.l57.yunpan.cn/lk/QpP6Rjwkq4IF2 貌似没效果咧,老大指教下 😎

      • 五度 五度 2014-2-10 12:43:24 +0800

        😛 重新下载了你的盘里的PHP,测试后发现可以正常下载了,十分感谢老大的分享!

  10. 也许 也许 2013-12-24 21:13:20 +0800#7

    从来没用过,以后多向你学习讨教。

  11. 林枫 林枫 2013-11-4 12:24:28 +0800#6

    我怎么用不了啊?这源码失效了吗??
    http://yy7798.com/360/yunpan.php?360dl=360云盘地址

    • Matrix Matrix Moderator 2013-11-4 15:18:53 +0800

      不会吧 我在本地和TE空间上测试都是成功的

  12. 林枫 林枫 2013-11-4 11:44:05 +0800#5

    我的怎么用不了,
    上代码保存为yunpan.php目录在360目录
    调用http://yy7798.com/360/yunpan.php?360dl=QbzD3w89NrdfL/阿鲁阿卓 - 山风一样自由.mp3

    http://yy7798.com/360/QbzD3w89NrdfL/阿鲁阿卓 - 山风一样自由.mp3
    怎么都调用不了呢

    • Matrix Matrix Moderator 2013-11-4 15:20:49 +0800

      sorry 忘了说明,文件保存需要到根目录

    • Matrix Matrix Moderator 2013-11-4 15:32:03 +0800

      你把代码的39行
      /yunpan.php
      改成
      /360/yunpan.php
      这样就不需要把文件放到根目录了

  13. 佳佳酱 佳佳酱 2013-10-22 22:13:36 +0800#4

    什么网盘都中枪。。。 ➡

    • Matrix Matrix Moderator 2013-10-22 22:16:01 +0800

      那么多的容量不要浪费啊 充分利用 😀

      • 匿名 匿名 2013-10-22 22:19:45 +0800

        我担心的是某天他们完全改变逻辑结果外链资源都失效麻烦了

        • Matrix Matrix Moderator 2013-10-22 22:21:53 +0800

          嗯 这个是有风险的 作为临时解决方案还是可以的

  14. xilouqingzhu xilouqingzhu 2013-10-21 8:14:10 +0800#3

    播放不了,难道是有时效的?。360保密措施的像做的比较好。

    • Matrix Matrix Moderator 2013-10-21 16:34:56 +0800

      下载没问题的 该是播放器的原因,有时候的确不能播放

  15. Small Desert Small Desert 2013-10-20 21:49:05 +0800#2

    我勒个擦--你倒是啥都放出来== 😮

  16. 神父 神父 2013-10-19 21:32:19 +0800#1

    外链啊,算永久的吗

    • Matrix Matrix Moderator 2013-10-19 21:42:23 +0800

      360那不修改的话算得上 😀

添加新评论 »

 😛 Sad 忧伤 👿 Smile 笑脸 😳 😀 😯 😮 😕 😎 😆 😡 😈 Roll Eyes 转眼珠 😉 💡 😐 😥 Mr Green 绿脸先生

NOTICE: You should type some Chinese word (like “你好”) in your comment to pass the spam-check, thanks for your patience!