修改百度云外链文件名以及后缀抓取以及外链程序

作者:matrix 发布时间:2013-09-07 分类:兼容并蓄 零零星星

添加自动识别百度外链的文件名以及后缀 中抓取页面标题的方式有点落后,这次稍微修改,使用关于正则匹配的函数。

相关代码:

$fp = file_get_contents($quurlXX);//$quurlXX为百度网盘地址  
preg_match_all ("/title\>.*\<\/title/",$fp,$titleList, PREG_PATTERN_ORDER);//使用preg_match_all正则匹配数据并保存到$titleList数组中  
//echo $titleList[0][0] ;  
$zhuaqian=strpos($titleList[0][0],"title>");  
$zhuahou=strpos($titleList[0][0],"_免费高速下载|百度云 网盘-分享无限制");  
$xinzhi=substr($titleList[0][0],6,$zhuahou-6); //取适当的两个位置中间的值也就是文件名  
$zz = 'http://www.hhtjim.com/bdwl/'.$urlcode.'/'.$uk.'/'.$xinzhi;  
echo $zz;  

这次抓取的话相对于以前要好些了,除非度娘又把文件名后面的那一串串“_免费高速下载|百度云 网盘-分享无限制”给改了,要不我这又失效了。

bapi.php下载:

http://www.400gb.com/file/29243856

http://pan.baidu.com/share/link?shareid=1490940073&uk=3238236832


这次又调整 外链程序到v0.3。之前用的奶酪博客首发解析百度网盘 V3.1 直链下载 ,后来发现 破博客 的 百度网盘音乐外链源码 更简单实用。

更新提取百度网盘下载链接:

if(isset($_GET['baiu'])){  
$baiduURL=explode("?baiu=",$_SERVER["REQUEST_URI"]);//取?baiu=后面的百度网盘链接地址  
$bai_url = $baiduURL[1];  
$bai_src = file_get_contents($bai_url);  

preg_match('|MusicPlayer\("(.*)"|U', $bai_src, $bai_res);//匹配源码里面的下载地址并跳转  
$bai_songurl = $bai_res[1];  
preg_match('|dlink\\\":\\\"(.*)\\\"|U', $bai_src, $bai_res); 
$bai_songurl = str_replace("\\\\", "", $bai_res[1]); 
header("location:$bai_songurl");  
}  

说明:相关代码来自破博客的 百度网盘音乐外链源码 。

将上面代码保存到php文件中,执行示例:/*.php?baiu=百度网盘分享地址(支持新老版本)

添加虾米音乐外链-用php接口获取虾米音乐外链地址

作者:matrix 发布时间:2013-09-02 分类:零零星星

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

虾米音乐外链界面

 

外链接口已经修改,请到link.hhtjim.com转换)

接口地址:https://www.hhtjim.com/xiami.php?u=虾米网音乐地址

虾米网音乐地址例如:http://www.xiami.com/song/1772146363?spm=a1z1s.6659513.0.0.eu3WwL

或者http://www.xiami.com/song/1772146363放到接口地址上都可以调用自动下载。

用过上次百度网盘外链应用再升级的模板后觉得js的就是漂亮,再借着 Liang's 源码,拿着.htaccess伪静态实现外链地址静态化的实践成果搞定起来的确没那么大的障碍了。

记录过程:

一.修改php源码,添加取得虾米网音乐地址的id值,也就是下面代码的 变量$mp3_id


<?php /*取得song/后面的音乐ID:$MUsicID 正确链接例如:http://www.xiami.com/song/1772146363?spm=a1z1s.6659513.0.0.eu3WwL 若链接这样http://www.xiami.com/song/play?ids=/song/playlist/id/175153022/object_name/default/object_id/0 则需要 $aa = explode('/',$getturl); $mp3_id = $aa[8]; //第8个数组 */ isset($_GET['u']); $quurl = $_GET['u']; $getturl = $quurl; $aa = explode('/',$getturl); $mp3_id = $aa[4];

代码说明:取得网址的U参数(也就是那虾米的音乐网址)的值后再以“/”分割字符串,得到第4个数组。下面会需要网址跳转,尾巴上添加header("Location: $url");

笔记:

示例地址:http://www.xiami.com/song/1772146363?spm=a1z1s.6659513.0.0.eu3WwL  以“/”分割字符串

第一数组:http:/ (像是吧)

第二数组:www.xiami.com

第三:song

第四:1772146363?spm=a1z1s.6659513.0.0.eu3WwL

奇怪的是将带有?spm=a1z1s.6659513.0.0.eu3WwL 的音乐id值带入到获取音乐id的php中竟然正常返回外链地址。这里只带入音乐id也是正确的。

explode()函数参考:http://www.w3school.com.cn/php/func_string_explode.asp

二.想的是由我这www.hhtjim.com的链接跳转到虾米的直链,这就需要添加伪静态规则。

RewriteRule ^xiami/([0-9]+)\.mp3?$ /xiami.php?u=http://www.xiami.com/song/$1 [L]  

说明:

http:// w w w . hhtjim.com/xiami.php?u=http://www.xiami.com/song/1770832884

===>跳转到

http://w w w . hhtjim.com/xiami/1770832884.mp3

三.之后再修改 虾米音乐外链 | HHTJim.Com Web App 就可行啦! 哈哈。

这个模板的功能是用js写的。部分js代码:

  <script type="text/javascript">
        function getNewLink() {
            var inputUrl = document.getElementById("inputUrl");
            var file_value = "";
            var file_type = document.getElementsByName("file_type");
            var hostname = "http://" + "www.hhtjim.com" + "/xiami/";//window.location.hostname为本地url.可替换掉www.hhtjim.com
            for (var i = 0; i < file_type.length; i++) {
                if (file_type[i].checked) {
                    file_value = file_type[i].value;
                    break;
                }
            };
            var file_other = document.getElementById("file_other");
            file_other_text = document.getElementById("file_other_text");
            var outputUrl = document.getElementById("outputUrl");
        var abc = inputUrl.value.substring(inputUrl.value.indexOf('g/') + 2);
     //  var abc = inputUrl.value.substring(inputUrl.value.indexOf('g/') + 2 ,inputUrl.value.indexOf('?spm') );
      // var abc = inputUrl.value.substring(inputUrl.value.indexOf('id/') + 3 ,inputUrl.value.indexOf('/ob') );
  // indexOf():http://www.w3school.com.cn/js/jsref_indexOf.asp
  //replace():替换用 http://www.w3school.com.cn/js/jsref_replace.asp
  //substring():http://www.w3school.com.cn/js/jsref_substring.asp
// test():http://www.w3school.com.cn/js/jsref_test_regexp.asp
//var reg = /^\d+\/xiami\/+\d+$/;//注意\后面的/
var reg = /^([0-9]+)+$/;
            if (!reg.test(abc)) {
                alert("链接错误,请核对尺码后入座!!!再点击获取~");
                inputUrl.focus();
                return false;
            }
            if (file_value == 'other') {
                  outputUrl.value = hostname + abc + "." + "mp3";
            } else {
                outputUrl.value = hostname + abc + "." + "mp3";
            }
        }
    </script>

又要用到js,再笔记下。

var abc:申明变量abc

indexOf()确定某个字符首次出现的位置,函数参考:http://www.w3school.com.cn/js/jsref_indexOf.asp

replace()替换作用,参考: http://www.w3school.com.cn/js/jsref_replace.asp

substring()根据indexOf()确定某个字符首次出现的位置来提取字符串,参考:http://www.w3school.com.cn/js/jsref_substring.asp

test()比较字符串,参考:http://www.w3school.com.cn/js/jsref_test_regexp.asp

还有就是正则表达式,这里用的/^([0-9]+)+$/来表示全数字的音乐id。

目前虾米音乐外链 | HHTJim.Com Web App支持3种虾米的url来转换,都是歌曲单文件,其实最终只是获得那个id,都可以自己的手动改的。

1.例如:http://www.xiami.com/song/1819190

2.例如:http://www.xiami.com/song/1819190?spm=a1z1s.6659513.0.0.BMIFmS

3.例如:http://www.xiami.com/song/play?ids=/song/playlist/id/1819190/object_name/default/object_id/0

其余的额也没什么可记。

Liang  在http://www.ifoouu.com/note/47.html贴出的源码正是太漂亮了,给出音乐id就可以得到外链地址。再次 感谢!


10-3添加更精简的php获取方法:

 

<?php
    function curl_get($url,$post=false,$carry_ua=true){
        $ch=curl_init($url);
        if($carry_ua){
            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'));
        }
        if ($post) {
            curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
        }
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $get_url = curl_exec($ch);
        curl_close($ch);
        return $get_url;
    }
     //echo curl_get($st_url);
                 $st_url='http://www.xiami.com/song/1772222342';
            $st_con=curl_get($st_url);
            //$st_rex="/src='(.*?)'>Your browser/";
            $st_rex="/\"url\":\"(.*?)\",\"/";
            preg_match($st_rex, $st_con,$st_matchs);
            $st_rurl=$st_matchs[1];
            $st_head='m'.rand(0,9);
            $st_rurl=str_replace('mg', $st_head, $st_rurl);
            $real_file_url = $st_rurl;
            $real_file_url = str_replace('\\','',$real_file_url);//将\删除
            echo $real_file_url;
?>

说明:其中16行的URL地址为虾米网的音乐链接

代码来自LIANG的http://www.ifoouu.com/note/68.html中提取。

curl的确好啊


14-3-16 添加官方虾米接口:

例:http://www.xiami.com/app/iphone/song/id/1772222342
打开后可以看到:

{"song_id":"1772222342","default_resource_id":"10855342","length":"250","category":null,"listen_file":"\/aliyunos\/874\/117874\/1680443259\/1772222342_10855342_l.mp3","album_id":"1680443259","name":"\u4f60\u7684\u6211\u7684","artist_name":"\u6881\u535a","artist_id":"117874","title_url":"nidewode","recommends":"331","singers":"\u6881\u535a","title":"\u4f60\u7684\u6211\u7684","album_logo":"http:\/\/img.xiami.net\/images\/album\/img74\/117874\/16804432591380527751_2.png","location":"http:\/\/m5.file.xiami.com\/874\/117874\/1680443259\/1772222342_10855342_l.mp3?auth_key=d94ae2db825f166c3c76c901ae79343c-1395014400-0-null","low_size":"10023705","file_size":null,"low_hash":"d272d5c12629274af5ed42d71d51fb55","whole_hash":"d272d5c12629274af5ed42d71d51fb55","content_hash":"d272d5c12629274af5ed42d71d51fb55","content_size":"10023705","lock_lrc":"2","lyric":"http:\/\/img.xiami.net\/lyric\/42\/1772222342_13804511043990.lrc","year_play":"0","grade":"-1","album_url":"http:\/\/www.xiami.com\/app\/iphone\/albuminfo?id=1680443259&amp;uid=","artist_url":"http:\/\/www.xiami.com\/app\/iphone\/artistinfo?id=117874&amp;uid=","isad":"0"}

里面的location即mp3下载地址。

14-07-19 添加虾米歌曲链接地址破解算法

php代码:

$id = '1772222342';//虾米音乐ID
$DataUrl = 'http://www.xiami.com/widget/xml-single/uid/0/sid/'.$id;//xml数据
$xml_array=simplexml_load_file($DataUrl); //将XML中的数据,读取到数组对象中
foreach($xml_array as $tmp){
    $location =  $tmp->location;
}
echo de_Location($location);
/*
    虾米下载地址解码函数@de_Location
    github项目:https://github.com/Flowerowl/xiami/blob/master/xiami.php
*/
function de_Location($location){
        $loc_2 = (int)substr($location, 0, 1);
        $loc_3 = substr($location, 1);
        $loc_4 = floor(strlen($loc_3) / $loc_2);
        $loc_5 = strlen($loc_3) % $loc_2;
        $loc_6 = array();
        $loc_7 = 0;
        $loc_8 = '';
        $loc_9 = '';
        $loc_10 = '';
        while ($loc_7 < $loc_5){
            $loc_6[$loc_7] = substr($loc_3, ($loc_4+1)*$loc_7, $loc_4+1);
            $loc_7++;
        }
        $loc_7 = $loc_5;
        while($loc_7 < $loc_2){
            $loc_6[$loc_7] = substr($loc_3, $loc_4 * ($loc_7 - $loc_5) + ($loc_4 + 1) * $loc_5, $loc_4);
            $loc_7++;
        }
        $loc_7 = 0;
        while ($loc_7 < strlen($loc_6[0])){
            $loc_10 = 0;
            while ($loc_10 < count($loc_6)){
                $loc_8 .= isset($loc_6[$loc_10][$loc_7]) ? $loc_6[$loc_10][$loc_7] : null;
                $loc_10++;
            }
            $loc_7++;
        }
        $loc_9 = str_replace('^', 0, urldecode($loc_8));
        return $loc_9;
    }

github:https://github.com/Flowerowl/xiami

参考:http://www.myhack58.com/Article/html/3/92/2013/38705.htm

MP3 TEST :

http: / / link.hhtjim.com/xiami/1772355885.mp3

百度网盘外链应用再升级

作者:matrix 发布时间:2013-08-28 分类:兼容并蓄 零零星星

新版本地址:http://d.hhtjim.com/bai.html

10-14更新转换地址:http://link.hhtjim.com

百度网盘外链应用再升级

 

 

这次又是借着itiyun.com童鞋的源码来完美晋升到了精简漂亮的界面。

旧版本就有点落后+难看死了。。。

新版下载:http://www.400gb.com/file/28753605

旧版:http://www.400gb.com/file/28753662

可查看>>

借用baidu-pan-proxy升级百度网盘外链应用

 

.htaccess伪静态实现外链地址静态化

作者:matrix 发布时间:2013-08-16 分类:兼容并蓄 零零星星

.htaccess伪静态实现外链地址静态化

借用baidu-pan-proxy升级百度网盘外链应用 提到了百度网盘的外链

https://www.hhtjim.com/bdwl.php?/get/2053194229/3238236832类似于这种外链地址总有点不爽。

利用apache服务器的rewrite编写规则就可以实现外链地址的静态化(带伪字):

https://www.hhtjim.com/bdwl/2053194229/3238236832  类似于这种的  很爽~

步骤: 阅读剩余部分 »

准备暂时停止域名解析

作者:matrix 发布时间:2013-08-13 分类:零零星星

原因很简单——备案

hhtjim.com是在13年02月23日godaddy for TaoBao入手的,首年花了40大洋。

到现在半年时间,真TMD后悔当初怎么不备-案啊  现在又要弄~  曰哦

问题是备案的时候说是要停止解析域名~

纳闷,为啥要求这个  不是要检查网站内容吗  ~  不检查算了  还是要关!  😥

好吧 关了就关了!

借用baidu-pan-proxy升级百度网盘外链应用

作者:matrix 发布时间:2013-08-12 分类:兼容并蓄 零零星星

借用baidu-pan-proxy升级百度网盘外链应用

GitHub有个强大的开源PHP程序,oo百度网盘直链完全没问题。

baidu-pan-proxy:

https://github.com/tofuliang/baidu-pan-proxy

8月31日发现失效。百度网盘文件外链V0.3 外链正常。

用法也是多种多样~

http://index.php?/get/shareid值/uk值/[任意文件名.扩展名]

http://index.php?/show/shareid值/uk值/[任意文件名.扩展名]

也可以不用[任意文件名.扩展名]直接:http://index.php?/get/shareid值/uk值/  进行外链。

还有读取文件的真实地址、遍历文件夹并输出所有下载连接等等。 阅读剩余部分 »

成功兑换点众网调的卓越亚马逊代金券

作者:matrix 发布时间:2013-08-11 分类:零零星星

点众网调

 

N多年以前就申请了点众的账号,直到前几个月账户的余额达到了最低兑换的代金券的条件:50元  正巧买个共振音响~

真不容易啊 网络调查很费时间,都不知道怎么玩过来的。

点众网:http://www.valuedopinions.cn

兑换步骤:

登录账号后点“账户历史”就有兑换的选项 阅读剩余部分 »

中国电信开放平台安装Lnmp一键安装包

作者:matrix 发布时间:2013-08-02 分类:兼容并蓄 零零星星

中国电信开放平台安装Lnmp

7月15号提交的申请到7月31号才准下来用了半个月的时间。

虚机IP:101.227.251.68 上海电信 速度贼快~

测试地址:101.227.251.68:7979

探针:101.227.251.68:7979/p.php

输入命令看看配置信息

查看Ubuntu版本#cat /etc/issue

输入命令看看配置信息  查看Ubuntu版本#cat /etc/issue

查看内核#uname -a

查看CPU信息#cat /proc/cpuinfo

查看内核#uname -a  查看CPU信息#cat /proc/cpuinfo

安装Lnmp:

1.使用putty登录vps执行

screen -S Lnmp

若提示screen: command not found可以执行:

yum install screen 或 apt-get install screen 安装screen

2.下载解压并安装Lnmp0.7

逐行执行下面代码:

wget -c http://soft.vpser.net/lnmp/lnmp0.7.tar.gz

tar zxvf lnmp0.7.tar.gz

cd lnmp0.7/

./centos.sh

之后还会提示输入绑定的域名以及设置MySQL的root密码

出现"Press any key to start...",按回车键确认安装。

之后就等了接近一个小时才安装安装完成。第一次在vps上安装 lnmp 不知道s时间上算不算长的。

第一次在vps上安装 lnmp
安装完成后如果出现php-fpm is stop!的警告表示php没有安装成功。
执行./upgrade_php.sh
之后输入更新到的具体php版本号5.2.14,5.3.26 等等。版本号一定要输入正确否则将会升级失败!
如果之前的php安装正确,只能有低版本升级到高版本不能降级
网站根目录路径:/home/wwwroot/

MySQL数据库所在目录:/usr/local/mysql/var/

Nginx主配置文件:/usr/local/nginx/conf/nginx.conf

参考:http://lnmp.org/faq/lnmp-software-list.html

LNMP状态管理命令

重启LNMP:/root/lnmp restart

参考:http://lnmp.org/faq/lnmp-status-manager.html
添加虚拟主机:/root/vhost.sh
删除虚拟主机:rm /usr/local/nginx/conf/vhost/域名.conf
LNMP状态管理: /root/lnmp {start|stop|reload|restart|kill|status}
Nginx状态管理:/etc/init.d/nginx {start|stop|reload|restart}
PHP-FPM状态管理:/etc/init.d/php-fpm {start|stop|quit|restart|reload|logrotate}
PureFTPd状态管理: /etc/init.d/pureftpd {start|stop|restart|kill|status}
MySQL状态管理:/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}
Memcached状态管理:/etc/init.d/memcached {start|stop|restart}
phpinfo : http://域名或IP/phpinfo.php
phpMyAdmin : http://域名或IP/phpmyadmin/
探针 : http://域名或IP/p.php
PureFTP管理界面:http://域名或IP/ftp/
Nginx主配置文件:/usr/local/nginx/conf/nginx.conf
MySQL配置文件:/etc/my.cnf
PHP配置文件:/usr/local/php/etc/php.ini
PureFtpd配置文件:/usr/local/pureftpd/pure-ftpd.conf
PureFtpd MySQL配置文件:/usr/local/pureftpd/pureftpd-mysql.conf
nginx目录 : /usr/local/nginx
mysql目录 : /usr/local/mysql
php目录 : /usr/local/php
Memcached测试页面:http://前面输入的域名或IP/memcached.php
网站目录: /home/wwwroot/
Nginx日志目录:/home/wwwlogs/
自定义伪静态:/usr/local/nginx/conf/自己的伪静态.conf

参考:http://www.vmvps.com/lnmp-install-configure-tutorial-total.html

7月30号收到邮件:

天翼开放平台&天翼云:关于试用云主机80等4个端口暂时关闭以及备案的相关通知

需紧急关闭所有没有备案的云主机的四个端口(80、8080、443、8443)

这下可好,封了80端 还干啥大事啊  狗子的~  还要备案

lnmp安装后使用的是80端,这就要修改nginx文件

路径:/usr/local/nginx/conf/nginx.conf

代码中修改80即可:

server
{
listen 80;
server_name demo.hhtjim.com;
index index.html index.htm index.php;
root /home/wwwroot;

至此各种命令记录完毕~  😀

参考 Ubuntu常用命令