获取豆瓣音乐下载地址

作者:matrix 发布时间:2015年5月20日星期三 分类:兼容并蓄

豆瓣音乐的mp3链接没法外链播放,只有下载用。
例如http://music.douban.com/programme/1312655?sid=2135789#play
打开地址会播放袁惟仁的木吉他。
右键点击“4.木吉他- 袁惟仁”审查元素

如图:

审查元素 可以看到

<div class="song-item" data-index="3" data-title="木吉他" data-performer="袁惟仁" data-songid="2135789" data-plength="241" data-ssid="1b59">

 
其中2135789和1b59是下一步需要的
打开http://music.douban.com/j/songlist/get_song_url?sid=2135789&ssid=1b59
看到{"r":"http:\/\/mr3.douban.com\/201505162003\/579f892209df60970f186024b25c9dee\/view\/song\/small\/p2135789.mp4"}
其中r对应的键值就是这首歌的链接地址(请去掉反斜杠)。
其实也可以简单点,直接审查元素打开后点击NetWork,只要该页面有歌曲播放就会显示出歌曲的地址。
PS:只需要音乐ID就能拼接出音乐地址
http:/ /mr5.douban.com/{任意12位\d,即日期:20150515}/{任意32位\w}/view/song/small/{音乐ID}.mp3

php函数用数组传递多位参数

作者:matrix 发布时间:2015年5月17日星期日 分类:兼容并蓄

我之前不会编写函数,都是用的别人做的。后来慢慢学会就逐步添加想要的功能,但是问题出现了。
我修改的函数(用于curl抓取页面)的相关设置太多,导致函数的形参多的冒泡,使用起来很麻烦

function curl_get($url, $re=0,$ua=0,$ip=1,$post=0,$followLocation=0......){}//像这样
curl_get($url, 0,0,0,$post,0,1,0......)//每次调用的时候很蛋疼

最近难以忍受调用这种形式的函数,遂修改下

function curl_get($url, $array=array('re'=>0,'ua'=>0,'ip'=>1,'post'=>0,followLocation=>0,......)){}

刚开始没发现使用上有问题,但是后来真闯到鬼了,明明默认的形参是ip=1,但是打死都没反应
curl_get($url, $array=array('post'=>0))后来知道是怎么回事:调用函数时的array('post'=>0)参数覆盖了形参$array=array('re'=>0,'ua'=>0,'ip'=>1...),等于是这样的话除了设置的post数组,其他的数组都没有设置(包括形参)。。。好吧,看下面解决办法

解决方案1

function curl_get($url, $array=array())
{
$defaultOptions = array(
're'=>0,
'ua'=>0,
'ip'=>1,
'post'=>0,
'followLocation'=>0,
//......
);
$array = array_merge($defaultOptions, $array);
//do......
}

解决方案2

function curl_get($url,$str='') {
$str_deaful='re=0&ua=0&ip=1&post=0&followLocation=0...';
parse_str($str_deaful,$arr);
parse_str($str,$arr2);
$array = array_merge($arr,$arr2);
//do......
}

参考:http://segmentfault.com/q/1010000000192291

学车:科二过了 发些经验

作者:matrix 发布时间:2015年4月30日星期四 分类:兼容并蓄 零零星星

我是2月底报的名,蜀乐山地区。昨天预约的考场280元,开了3圈过了一圈。
主要还是心态放好,其实很容易过的,平时练习也不能少。

1.倒车入库

我们驾校场地很烂杆,一点都不标准,不过倒车入库必须强加练习,不求压线。要知道怎么修整。乐山三禾驾校考点的库与平时的练习场地有很大的出入 。入库前打满方向盘必须提前。出库后引擎盖过边线稍微迟一点打满轮。车身切忌摆正,内侧稍微宽些,外侧1M多点就可以吧。
http://pan.baidu.com/s/1gd3tg23

2.坡道定点停车

我是这个上面扣的20分,熄火一次,车头位置不准确。
参考:http://pan.baidu.com/s/1kTIeguF
http://tieba.baidu.com/p/1997549261
http://pan.baidu.com/s/1gdkwsV5

3.侧方位停车(在右侧)

这个稍微简单些,跟在驾校练习一样的。右反视镜看不到库边线右打满轮,观察左后视镜看到第二个库角前回正,左后轮压线之前打满轮。车正即停。
http://pan.baidu.com/s/1mgl8arm

4.直角转弯(左转弯)

尽量让车靠近有右边线30CM及以内,左后视镜与直角平齐时(或者门把手位置与直角平齐)向左打满轮。
http://pan.baidu.com/s/1eQxp7Fk

5.S路行驶

尽量让车靠近弯道的外侧,避免内侧后轮压线。其实和直角转弯差不多都是尽量使用最大转弯半径。
http://pan.baidu.com/s/1eQxp7Fk

6.单边桥

左单边桥可以对点位,很好上的,左肩膀,左脚都行,或者左雨刮器的第一个铆钉处位置挨着左单边桥左侧。右单边桥的话多加练习,凭感觉估计好右轮的位置。也可以对点位的,左雨刮器的结点(雨刮杆和雨刮片的铆钉点),左轮下左单边桥后向右打方向盘(一般是一圈吧),左雨刮器的结点跑到有单边桥右侧过后向左打方向盘让结点大致挨着右单边桥,右前轮上桥后等待后轮上桥,慢慢回正,可以向左稍微修点(因为一般上右桥后车身都是有点偏右)。过单边桥速度要适中,尽量慢速,左单边桥前轮下桥后需要让车身在短距离内会正方向,这样才不轻易掉右桥。
参考:http://pan.baidu.com/s/1qWp3ChY
http://m.bendibao.com/show315745.html
http://sz.bendibao.com/xueche/201413/590332.htm
我是80分正好及格,定点停车扣了20分。这里给需要的童鞋一些小小建议。仅供参考!

免费公共WeiPN中继服务器-WeiPN Gate Client

作者:matrix 发布时间:2015年3月17日星期二 分类:兼容并蓄

微PN Gate 学术实验项目是一个由日本国立筑波大学研究生院运营的免费服务。
它和传统的代理服务器微PN的不同之处在于,它只提供一个平台,而来自世界各地的志愿者才是真正提供代理的人。
因此几乎永远也不用担心微PN Gate被和谐,因为各国的志愿者成千上万并且不断在变化。

官网

http://www.vpngate.net/cn/

下载

https://download.vpngate.jp/common/cd.aspx/vpngate-client-2020.01.20-build-9731.146250.zip

食用方法

下载软件压缩包,安装里面的exe应用程序

免费公共WeiPN中继服务器-WeiPN Gate Client
安装完成后双击“vpn Gate 公共 vpn 中继服务器”选择其中的一个服务器,单击右下角的连接即可!
更加详细的的教程请参照:
http://130.158.6.78/cn/howto_softether.aspx
http://www.vpngate.net/cn/howto_softether.aspx

参考:

[下載] VPN Gate Client 免費不限流量 VPN 連線工具(安裝、使用教學)

超给力的全球免费VPN软件 节点众多 覆盖全球 VPN Gate

windows系统密码查看神器-mimikatz

作者:matrix 发布时间:2015年3月4日星期三 分类:兼容并蓄 零零星星

mimikatz
之前不知道还有这玩意,竟然能够查看Windows系统的密码。真正的神器!法国一个牛人写的轻量级调试器-mimikatz

作者博客:http://blog.gentilkiwi.com/mimikatz
github地址:https://github.com/gentilkiwi/mimikatz
下载页面:https://github.com/gentilkiwi/mimikatz/releases/latest

2.0 alpha 20150122百度网盘:http://pan.baidu.com/s/1eQzpmQe
目前最新的是2.0版本20150122更新,支持xp及以上系统包括32和64位。Windows10貌似也不在话下(Windows 10 Constant),不过我只测试了win8.0 64bit系统是没有问题的

步骤:

下载并解压缩以管理员权限运行mimikatz.exe,逐行输入命令
privilege::debug
sekurlsa::logonpasswords
如果成功执行sekurlsa::logonpasswords命令则回显系统信息,这是明文包含密码的

如果成功最后一个命令则回显系统信息
这个工具不仅仅局限于查看windows密码,可以提升进程权限 注入进程 读取进程内存等等
参考:http://www.52pojie.cn/thread-268297-1-1.html
http://lcx.cc/?i=2265

Github项目Mobile-Detect-检测移动设备的php类

作者:matrix 发布时间:2015年1月14日星期三 分类:兼容并蓄

Github项目Mobile-Detect-检测移动设备的php类

Mobile-Detect php类可以检测是否为移动设备,不用你自己写代码判断ua。它使用 User-Agent 中的字符串,并结合 HTTP Header,来检测移动设备环境,比较靠谱。

网盘备份:http://pan.baidu.com/s/1pJBMFe7

Github地址:https://github.com/serbanghita/Mobile-Detect
官网:http://mobiledetect.net/
DEMO:http://demo.mobiledetect.net/

函数示例

// 载入并实例化类
require_once 'Mobile_Detect.php';
$detect = new Mobile_Detect;
// 移动设备 (手机和平板).
if ( $detect->isMobile() )
//平板设备
if( $detect->isTablet() )
// 判断os
if( $detect->isiOS() )
if( $detect->isAndroidOS() )
...
// 其他的
$detect->is('Chrome')
$detect->is('iOS')
$detect->is('UC Browser')
...

说明:更多的函数请查看DEMO处

参考:

http://mobiledetect.net/

http://yusi123.com/2607.html

博客标题下面的ajax加载一句话

作者:matrix 发布时间:2015年1月12日星期一 分类:Wordpress 兼容并蓄

博客LOGO下面的一句话功能是照搬philna2主题弄的,点击一下就更新一句话的内容,是很久前的弄的小功能,现在回忆一下简单步骤。给需要的一位童鞋。

1.在wordpress主题的functions.php中添加代码

function HHTJimSay(){
    $Sentence =
    '
    11111
    22222
    33333
    44444
    ';
    $words = explode("\n", $Sentence);
    $word = $words[ mt_rand(1, count($words) - 2) ];
    echo $word;
}
function _exitajax(){
exit();
}
function Is_AjaxURL() {
    if((isset($_GET['do']) && $_GET['do'] == 'ajax') ) {
        return true;
    }else{
        return false;
    }
}
/**
 * 通过USER_Agent判断是否为机器人.
 */
function is_bot(){
    $bots = array('Google Bot1' => 'googlebot', 'Google Bot2' => 'google', 'MSN' => 'msnbot', 'Alex' => 'ia_archiver', 'Lycos' => 'lycos', 'Ask Jeeves' => 'jeeves', 'Altavista' => 'scooter', 'AllTheWeb' => 'fast-webcrawler', 'Inktomi' => 'slurp@inktomi', 'Turnitin.com' => 'turnitinbot', 'Technorati' => 'technorati', 'Yahoo' => 'yahoo', 'Findexa' => 'findexa', 'NextLinks' => 'findlinks', 'Gais' => 'gaisbo', 'WiseNut' => 'zyborg', 'WhoisSource' => 'surveybot', 'Bloglines' => 'bloglines', 'BlogSearch' => 'blogsearch', 'PubSub' => 'pubsub', 'Syndic8' => 'syndic8', 'RadioUserland' => 'userland', 'Gigabot' => 'gigabot', 'Become.com' => 'become.com','Bot'=>'bot','Spider'=>'spider','yinheli_for_test'=>'dFirefox');
    $useragent = $_SERVER['HTTP_USER_AGENT'];
    foreach ($bots as $name => $lookfor) {
        if (stristr($useragent, $lookfor) !== false) {
            return true;
            break;
        }
    }
}
if(Is_AjaxURL() && !is_bot()){//存在_GET且不是机器
add_action('Ready','HHTJimSay');
add_action('Ready', '_exitAjax', 9999);
}
do_action( 'Ready');

说明:
用于ajax后台提取一句话函数
4-7行处自己添加需要显示的一句话

2.在header.php中,加载完jq之后的位置添加js代码

var blogURL="https://www.hhtjim.com";//网站域名  
$(function(){  
    function o(v){  
        url=v.u?v.u:blogURL+"?do=ajax";  
        if(v.fn){  
            var nowTime = new Date().getTime();  
            url+="&action="+v.fn+"&t="+nowTime  
        }  
        type=v.m?v.m:"GET";  
        data=v.d?v.d:null;  
        dataType=v.dt?v.dt:"html";  
        beforeSend=v.b?v.b:null;  
        error=v.e?v.e:function(){  
            alert(lang.commonError);  
            document.body.style.cursor="auto"  
        };  
        success=v.s?v.s:function(w){  
            alert(w)  
        };  
        $.ajax({  
            url:url,type:type,data:data,dataType:dataType,beforeSend:beforeSend,error:error,success:success  
        })  
    }  

    function u(){  
        var v=false;  
        var x=document.getElementById('HHTJimSay') ? $("#HHTJimSay") : $("#HHTJimSay_s") ;  
        var w="loading";  
        x.click(function(){  
            if(v){  
                return false  
            }  
            var z=function(){  
                x.hide(0,function(){  
                    x.attr('title','').html("").addClass(w).show();//0秒后出现漏斗  

                });  
                v=true  
            };  
            var y=function(){  
                x.html(lang.commonError);  
                x.removeClass(w);  
                v=false  
            };  
            var A=function(B){  
                setTimeout(function(){  
                    x.hide(0);  
                    x.attr('title','点击这里获取更新').html(B).removeClass(w).fadeIn("slow"); //show(300)改fadeIn("slow") 淡入  
                    v=false  
                }  
                ,3000)//3000 漏斗出现时间  
            };  
            o({  
                b:z,e:y,s:A,fn:"HHTJimSay"  
            });  
            return false  
        })  
    }  
    u();  
    function n(){  
        var w=$("#welcome_msg");  
        var v=$("#profile");  
        var m=$("#author");  
        $("#edit_profile").toggle(function(){  
            w.slideUp(200);  
            v.slideDown(200);  
            m.select();  
            return false  
        }  
        ,function(){  
            w.slideDown(200);  
            v.slideUp(200);  
            return false  
        })  
    }  
    n();  
});  

说明:修改第一行的网站域名

3.在header.php处需要显示的位置添加代码

<span id="HHTJimSay_s" title="点击这里获取更新" style="white-space: nowrap;" class="description"><?php HHTJimSay(); ?></span>

4.在style.css中添加样式代码

#HHTJimSay_s{background:url('data:image/gif;base64,R0lGODlhEAAQALMJALvM7rDE6aW86UV10leF2WWM2cXj/zNmzP///////wAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAAAJACwAAAAAEAAQAAAENDDJCUoBM+tyTtGTMAgJ50mGNhxDUl2JIWciCaZgru/avPs+XZBHLOJuvSFKeQwec8oiKAIAIfkECQAACQAsAAAAABAAEAAABDcwyZlCoJiGc26WhrR1QEEAlKGKV8ERWIi5R/FhZYHefLLyv99N2CsaZRkkiLhU+iZCZ0xqxEQAACH5BAkAAAkALAAAAAAQABAAAAQ2MMlJq5XG3KlxF4NAZR01HENVUqC4vbAEFAWQZG9xHMW9VjpeLDGrDS8/jgq3/JWYNxj0eIkAACH5BAkAAAkALAAAAAAQABAAAAQ0MMlJq5XG3KlxT58XitXIbWhaBYGHBsfRZm/cqgmrAkUBlJZCrEDJjIQHAtDFI/w2NFwqAgAh+QQJAAAJACwAAAAAEAAQAAAENDDJSauVxtypcU+fF4rVyG1oimYpC5qUq84qLAxCzAJFASSDw6AkKRwOhcQtdzEiZzyfJQIAIfkECQAACQAsAAAAABAAEAAABDUwyUmrlcbcqXFPnxeK1chtaIpmKQualKtaQFEAc3EchTUSu14gQJoACLfAjghCKQ9M1fASAQAh+QQJAAAJACwAAAAAEAAQAAAENTDJSauVxtypcU+fF4rVyG2oBBQFkErFcRRolsRzra3t61+CgeAyGhwGlkwoOAR9TBTbDxUBACH5BAUAAAkALAAAAAAQABAAAAQ4MMlJq5XGXAlIAUk2aRRxHEWVkVJxpmoFFN82BYFNBWe+ibyD7yJK4HRIJCtGWVmczRFr+aQmLREAOw==') no-repeat 10000px 10000px;cursor:pointer;}
#HHTJimSay_s.loading{cursor:default;display:none;background-position:center center;width:18px;height:16px;}

mypublicwifi-替换Connectify的最佳软件

作者:matrix 发布时间:2014年12月31日星期三 分类:兼容并蓄

connectify是很不错的开wifi的软件,只不过要收费才能正常使用,破掉它很麻烦。

现在有很多开wifi的软件,不过这个非常精简,mypublicwifi才踏实!

几兆的文件大小没有一点鸡肋功能,还可以查看在虚拟WIFI热点中所有访问过的网页。

目前没有中文版本,看简单的几个单词还是没有问题的。

网盘下载:http://pan.baidu.com/s/1c0rPUyG

官网:http://www.mypublicwifi.com/publicwifi/en/index.html

说明
Enable Internet share打勾,下面选择无线网卡。
点击“Set up and Start Hospot”就能开启了,如果失败了请检查wifi驱动是否出现多余的驱动项目。
Network name(SSID)  wifi名称
Network key(at**)  wifi密码(最少8位字符)
Enable Internet share 启用互联网

MyPublicWiFi

参考:

http://onhax.net/best-alternative-for-connectify-hotspot-pro/

http://www.mypublicwifi.com

 另:MyWifiAP 2.4.0.477 中文绿色特别版

下载:http://pan.baidu.com/s/1nt4yYVZ

MyWifiAP由无忧大侠开发的wifi绿色软件,授权给波黑难民发布

点击MyWifiAP.exe启动,压缩包内有注册机。

感谢小菜的分享!

参考:http://www.cr173.com/soft/53951.html