青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

huyutian

他強由他強,清風拂山崗;他橫由他橫,明月照大江。他自狠來他自惡,我自一口真氣足

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  20 隨筆 :: 47 文章 :: 22 評論 :: 0 Trackbacks
     這次學習的目標是實現115.com的自動登錄、簽到、搖一搖。115是國內流行的網盤。容量大,可分享的資源豐富。115網站為吸引用戶,設置了簽到功能和搖一搖功能。本篇希望寫出一個能自動登錄簽到的python程序。搜索了一下,網上已經有高手9deadblue@gmail.com寫好:妖妖舞娘為一個Google App Engine(GAE)應用,利用GAE的調度系統實現了定時簽到、領取空間等工作。但現在115已經升級了安全登錄管理,不知道這個程序還能用否。
1.靜態分析
首先看看115首頁源文件中,查找與登錄相關的代碼如下:
                    var goto = "http://115.com";
                    //... ...部分省略
                    ;(function(){
                        // 登錄
                        var $doms = $('#js-passwd,#js-account');
                        Common.bindLabelHide($doms);
                        $("#js-account").addVerify("notnull",null,"輸入115網盤帳號/手機/郵箱");
                        $("#js-passwd").addVerify("notnull",null,"輸入你的密碼");
                        $doms.keydown(function(e){
                            if(e.keyCode!=13){
                                valiSuccess($(this));
                            }
                        })
                        setTimeout(function(){
                            $("#js-account").focus();
                            if($.trim($("#js-account").val())!=""){
                                $("#js-passwd").focus();
                            }
                        },200)

                        $("#js-submit").click(function(){
                            if(Common.validate.validate($doms,valiError,valiSuccess)){
                                var code = "";
                                Common.setLoginData({goto:goto});
                                Common.login($("#js-account").val(),$("#js-passwd").val(),code,1,$("#js-remember_pwd").is(":checked"),function(json){
                                    if(json.state){
                                        $("#js-passwd").val(Common.encode_safe_pwd($("#js-passwd").val()));
                                        $("#js-login_form").attr("action",json.goto)[0].submit();
                                        setTimeout(function(){
                                            location.href = json.goto;
                                        },1000);
                                        //location.href = json.goto;
                                    }else{
                                        if(json.err_name){
                                            var $t = $doms.filter("[name="+json.err_name+"]");
                                            if($t.length){
                                                valiError(json.err_msg,$t.focus());
                                                return;
                                            }
                                        }
                                        $.alertTip(json.err_msg);
                                    }
                                });
                                //登錄
                            }
                            return false;
                        });

                    }());
當輸入用戶名和密碼后,網頁先校驗用戶名和密碼的長度非空,調用common.js進行登錄。
2.動態分析,用http analyser記錄登錄全過程的HTTP數據流。驗證自己對登錄過程的理解。
根據我的分析,大致描述115網盤登錄過程
(1)查看第一條post命令(http://passport.115.com/?ct=login&ac=ajax&is_ssl=1),截圖如下

登錄時需要post的參數有
Parameter Name Value
login[ssoent] A1
login[version] 2.0
login[ssoext]      *************(13位)
login[ssoln]        ***********(用戶名,明碼)
login[ssopw]      *************(加密后密碼,40位)
login[ssovcode]  *************(13位,同ssoext)
login[safe] 1
login[time] 0  (是否勾選5天內免登錄)
login[safe_login] 0
goto  http://115.com
common.js中計算13位(16進制字符串)ssoext:前8位是當前時間秒值,后5位是一個小于123456789的隨機數
ssovcode與ssoext一樣。
ssopw采用了sha1算法,sha1( sha1(sha1(pwd)+sha1(account)) + ssovcode.toUpperCase())
返回頁面包含重定向網址鏈接“http:\/\/passport.115.com\/?ct=login&ac=gotos&goto=http%3A%2F%2Fpassport.115.com%2F%3Fct%3Dlogin%26ac%...”
并設置記錄登錄狀態的cookies信息(ssoidA1,ssoinfoA1,OORA,OOFA)
(2)post消息到剛才獲得的重定向網址,登錄完成。
Parameter Name Value
account ***********(用戶名,明碼)
passwd ************************(密碼用Common.encode_safe_pwd函數加密)
(3)訪問115個人中心,獲取用戶信息
GET命令 http://my.115.com/?ct=ajax&ac=get_user_aq&js_return=abc
返回狀態var abc = {"state":true,"data":{"uid":"********","uname":"******",......},......}
測試了一下,這一步似乎不能省略。否則下面簽到時不會返回token值
(4)GET命令 http://115.com/?ct=event&ac=get_active_param&_=1391498007778(時間戳)  獲取簽到狀態信息
返回簽到狀態{"state":true,"is_take":true,"is_take_token":"a1f1ad317b680d0f3ce34153a247383e","is_checkin":"11","this_turn":"11",...}
(5)POST命令 http://115.com/?ct=ajax_user&ac=checkin 簽到
Parameter Name Value
token a1f1ad317b680d0f3ce34153a247383e(剛才服務器返回的token)
返回簽到狀態{"state":true,"data":{"this_turn":11,"this_turn_space":"11GB","next_turn":12,"next_turn_space":"12GB"}}
(6)搖一搖 GET命令 http://115.com/?ct=yao   (記住要攜帶cookie)
查看返回的源文件,可以看到如下片段,記錄下take_token串值,后面搖一搖時要用到
    /*
        @搖一搖獲取數據
    
*/
    var take_token = 'daadb242dfbb9756a16323c6ef548321'
        , is_take = Number('1')
        , is_allow = Number('1')
        , is_login = Number('********')
        , is_vip = Number('1')
        , is_go = true
        , is_me = 1;//Number('');
繼續向下可以看到與搖一搖有關代碼片段如下:
(6)GET命令搖一搖http://115.com/?ct=ajax_user&ac=pick_spaces&u=1&token=daadb242dfbb9756a16323c6ef548321
返回搖一搖獲得的空間信息
{"state":true,"picked":"2728MB","picked_num":2728,"flag":false,"total_size":"22910570MB","used_percent":"0%","exp":793}

到這里整個115登錄、簽到、搖一搖的過程分析完了。下面就是如何用python來模仿以上過程了。首先需要有一個python下方便好用的http包。
posted on 2014-02-15 21:09 胡雨田 閱讀(561) 評論(0)  編輯 收藏 引用 所屬分類: 網絡編程編程技巧
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美激情一区二区三区在线视频观看| 国产日产欧产精品推荐色 | 久久国产精品99久久久久久老狼| 欧美午夜视频在线观看| 亚洲专区在线视频| 麻豆91精品91久久久的内涵| 亚洲黄色一区| 欧美少妇一区| 久久国产88| 欧美激情一二三区| 亚洲欧美另类中文字幕| 国内免费精品永久在线视频| 欧美电影免费观看高清| 日韩手机在线导航| 久久久久国内| 亚洲麻豆一区| 国产欧美日韩伦理| 免费成人黄色| 亚洲欧美中文日韩在线| 欧美成在线视频| 亚洲欧美乱综合| 亚洲区第一页| 国产美女扒开尿口久久久| 久久精品综合网| 一区二区精品在线| 欧美大香线蕉线伊人久久国产精品| av不卡在线| 在线观看精品视频| 国产精品露脸自拍| 欧美大片在线影院| 欧美专区在线| 在线亚洲电影| 亚洲黄色免费| 久久精品国产99| 中文日韩在线| 亚洲国产另类精品专区 | 国产永久精品大片wwwapp| 欧美成人dvd在线视频| 亚洲欧美精品伊人久久| 亚洲日本激情| 欧美黄色aaaa| 久久视频这里只有精品| 小黄鸭精品aⅴ导航网站入口| 亚洲欧洲一二三| 在线观看一区视频| 国产日韩欧美视频| 国产精品九九久久久久久久| 欧美激情视频一区二区三区在线播放| 欧美一区久久| 亚洲女与黑人做爰| 夜夜嗨一区二区三区| 亚洲人屁股眼子交8| 欧美电影在线观看| 久久综合图片| 久久五月激情| 久久久久久精| 久久久久久久久久久一区| 亚洲综合日韩中文字幕v在线| 日韩视频二区| 亚洲精品自在久久| 亚洲精选大片| 亚洲美女av在线播放| 亚洲欧洲精品成人久久奇米网| 精品999日本| 黄色在线一区| 在线观看国产成人av片| 在线观看亚洲精品视频| 激情六月综合| 亚洲福利视频网| 亚洲黄色成人久久久| 亚洲国产精品福利| 亚洲激情在线| 一本不卡影院| 亚洲一区二区三区在线| 亚洲综合成人在线| 亚洲欧美在线观看| 欧美一区2区视频在线观看 | 亚洲人成人77777线观看| 亚洲第一中文字幕在线观看| 欧美国产一区视频在线观看| 亚洲二区在线| 99精品国产99久久久久久福利| 亚洲开发第一视频在线播放| 夜夜爽av福利精品导航| 一区二区三区四区蜜桃| 亚洲欧美日韩国产| 久久成人亚洲| 欧美成年人网站| 欧美日韩亚洲高清一区二区| 国产精品高清在线观看| 国产日韩欧美一二三区| 极品日韩av| 日韩网站在线观看| 午夜精品婷婷| 久热这里只精品99re8久| 欧美成人一品| 一区二区动漫| 久久精品1区| 欧美另类亚洲| 国产欧美精品一区二区三区介绍 | 亚洲人成毛片在线播放女女| 在线一区二区三区四区五区| 欧美一区二区三区四区高清| 老鸭窝91久久精品色噜噜导演| 欧美片第一页| 国产在线视频欧美| 亚洲看片网站| 久久av免费一区| 亚洲国产精品视频一区| 亚洲一区在线观看免费观看电影高清| 久久久久网址| 国产精品igao视频网网址不卡日韩| 国产亚洲毛片在线| 在线亚洲欧美视频| 玖玖精品视频| 亚洲一区久久久| 欧美88av| 韩国精品久久久999| 一本色道**综合亚洲精品蜜桃冫 | 蜜臀久久久99精品久久久久久| 欧美日一区二区在线观看| 国内揄拍国内精品久久| 一区二区三区国产盗摄| 美女视频黄免费的久久| 亚洲在线网站| 欧美日韩91| 亚洲高清不卡在线观看| 性高湖久久久久久久久| 亚洲精品国产精品国自产在线 | 激情视频一区| 亚洲综合电影一区二区三区| 欧美成人免费全部| 欧美一二三视频| 欧美视频精品在线| 亚洲看片一区| 欧美 日韩 国产一区二区在线视频 | 欧美国产精品劲爆| 欧美亚洲综合另类| 国产精品久久久久久模特| 亚洲精品国产精品国自产观看浪潮| 久久国产精彩视频| 亚洲综合国产精品| 欧美日韩一区自拍| 日韩一级片网址| 欧美国产先锋| 老司机免费视频一区二区| 狠狠色香婷婷久久亚洲精品| 欧美在线一区二区| 亚洲一区精品电影| 国产精品久久久久久久久婷婷| 9人人澡人人爽人人精品| 亚洲电影毛片| 蜜臀久久久99精品久久久久久| 伊人成人开心激情综合网| 久久久久久网址| 欧美在线亚洲在线| 国产一区二区精品丝袜| 久久精品人人做人人爽| 亚洲欧美一区二区精品久久久| 国产精品久久久久一区| 亚洲一区二区三区中文字幕| 99re6热在线精品视频播放速度| 欧美激情片在线观看| 99精品视频一区| 亚洲精品日韩在线| 欧美日韩亚洲91| 午夜综合激情| 性欧美激情精品| 黄色成人在线免费| 欧美激情一区二区三区四区 | 欧美日韩亚洲高清| 亚洲少妇诱惑| 亚洲无限乱码一二三四麻| 国产精品色午夜在线观看| 欧美一区二区视频97| 欧美一区成人| 亚洲国产精品第一区二区| 亚洲国产合集| 国产精品mm| 久久精品30| 嫩草影视亚洲| 亚洲视频在线观看视频| 亚洲一区二区在线看| 国内外成人在线视频| 欧美韩日高清| 欧美午夜三级| 久久久精品国产免大香伊 | 亚洲一区二区三区精品动漫| 亚洲综合电影| 亚洲第一中文字幕| 一本色道久久综合狠狠躁的推荐| 国产精品婷婷午夜在线观看| 久久综合网络一区二区| 欧美精品videossex性护士| 亚洲免费影视第一页| 久久成人精品无人区| 亚洲美女av黄| 欧美一区二区视频在线| 亚洲人成在线观看一区二区| 亚洲一区在线视频|