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

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 胡雨田 閱讀(560) 評論(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>
            另类天堂av| 亚洲免费精彩视频| 亚洲精品一区二区三| 国产一区二区三区精品欧美日韩一区二区三区 | 欧美影院一区| 久久亚洲私人国产精品va媚药 | 久热精品视频在线观看| 久久久亚洲一区| 欧美mv日韩mv国产网站| 91久久精品美女高潮| 亚洲电影激情视频网站| 亚洲日本中文字幕免费在线不卡| 一二三区精品| 久久精品视频在线| 欧美1区视频| 亚洲国产黄色片| 亚洲人精品午夜在线观看| 亚洲婷婷综合色高清在线| 欧美一级电影久久| 免费观看日韩| 国产偷国产偷精品高清尤物| 亚洲福利国产| 午夜精品久久久久久久男人的天堂| 久久久人成影片一区二区三区观看| 亚洲第一在线综合在线| 亚洲在线视频观看| 免费在线看一区| 国产精品久久久久久久久免费樱桃| 激情六月婷婷综合| 亚洲一区综合| 女同性一区二区三区人了人一| 亚洲精品一区二区三区樱花| 小处雏高清一区二区三区 | 一本色道久久综合亚洲精品按摩 | 免费成人高清在线视频| 国产精品国产三级国产普通话三级| 狠狠色综合网站久久久久久久| 一区二区三区四区蜜桃| 两个人的视频www国产精品| 亚洲主播在线| 国产精品成人在线| 亚洲毛片播放| 亚洲第一精品夜夜躁人人躁| 欧美一区二区播放| 国产精品日日做人人爱| 中文日韩电影网站| 亚洲精品国精品久久99热| 久久人人爽人人| 伊人伊人伊人久久| 久久久久久自在自线| 亚洲综合激情| 国产精品白丝黑袜喷水久久久| 一本色道久久99精品综合| 亚洲经典视频在线观看| 欧美www在线| 亚洲理伦电影| 91久久精品国产91性色| 欧美国产一区二区| 亚洲精品小视频在线观看| 亚洲第一精品夜夜躁人人躁| 另类专区欧美制服同性| 亚洲第一天堂无码专区| 欧美成人久久| 免费91麻豆精品国产自产在线观看| 狠狠色伊人亚洲综合成人| 久久亚洲综合色| 久久一区中文字幕| 亚洲欧洲日韩女同| 亚洲精品久久久久久久久久久久久| 男女精品网站| 免费在线观看日韩欧美| 99精品福利视频| 亚洲人在线视频| 欧美午夜一区二区三区免费大片| 亚洲宅男天堂在线观看无病毒| 一区二区电影免费观看| 国产精品入口日韩视频大尺度| 午夜欧美理论片| 久久国产精品久久久久久电车 | 欧美日韩一区在线视频| 亚洲婷婷综合久久一本伊一区| 国产精品99久久久久久有的能看 | 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美性猛片xxxx免费看久爱| 亚洲欧美偷拍卡通变态| 午夜精品区一区二区三| 在线精品国产欧美| 亚洲精品欧美| 国产精品vvv| 免费看的黄色欧美网站| 欧美另类综合| 久久成人免费视频| 欧美激情va永久在线播放| 亚洲女优在线| 久久综合久久久久88| 亚洲视屏一区| 久久综合色综合88| 亚洲欧美综合网| 美女视频黄 久久| 欧美一级视频精品观看| 麻豆国产精品va在线观看不卡| 亚洲无线视频| 麻豆av一区二区三区久久| 欧美一区二区三区播放老司机| 欧美77777| 久久综合亚州| 国产裸体写真av一区二区| 亚洲国产专区校园欧美| 国产在线精品一区二区中文| 亚洲精品影院| 亚洲国产第一| 久久精品国产亚洲一区二区| 亚洲欧美欧美一区二区三区| 男人插女人欧美| 久久久亚洲国产天美传媒修理工| 欧美亚男人的天堂| 亚洲美女黄网| 欧美一区二区精美| 久热这里只精品99re8久| 亚洲一区影院| 欧美日本高清视频| 亚洲成色777777女色窝| 国产在线一区二区三区四区| 中国成人黄色视屏| 亚洲午夜av电影| 欧美国产日韩一区| 久久在精品线影院精品国产| 国产精品日韩久久久| 99国产一区| 99一区二区| 欧美日韩国产一区二区| 亚洲高清色综合| 亚洲精品久久久久久一区二区 | 亚洲人www| 亚洲精品免费在线播放| 久久影音先锋| 欧美国产精品| 亚洲黄色一区| 欧美激情女人20p| 亚洲黄色小视频| 99av国产精品欲麻豆| 欧美日韩国产色视频| 妖精成人www高清在线观看| 一个人看的www久久| 国产精品porn| 午夜在线电影亚洲一区| 久久久久国产精品人| 一区久久精品| 欧美大片免费| 在线综合亚洲| 欧美专区在线观看一区| 在线观看欧美视频| 欧美高清在线观看| 99亚洲伊人久久精品影院红桃| 亚洲少妇诱惑| 国产日产欧产精品推荐色 | 久热这里只精品99re8久| 欧美激情乱人伦| 中文欧美字幕免费| 国产精品自拍三区| 久久精品99无色码中文字幕| 欧美成人午夜激情视频| 在线视频欧美一区| 国产日韩欧美一区二区三区在线观看 | 亚洲激情成人网| 香港成人在线视频| 永久免费精品影视网站| 欧美精品免费播放| 亚洲欧美视频一区| 亚洲国产天堂久久综合网| 亚洲欧美日韩综合一区| 在线免费观看日韩欧美| 欧美日韩一区二区三区在线 | 亚洲人成网站在线观看播放| 一区二区高清在线| 国产香蕉久久精品综合网| 麻豆av福利av久久av| 中文av一区二区| 嫩草影视亚洲| 欧美一区在线看| 日韩视频免费观看高清完整版| 国产精品亚发布| 欧美激情一区二区三区在线视频| 亚洲欧美久久久| 亚洲精品九九| 免费视频一区二区三区在线观看| 亚洲免费在线观看| 日韩一二在线观看| 影音先锋国产精品| 国产精品私拍pans大尺度在线 | 久久综合色一综合色88| 亚洲欧美日韩直播| 日韩视频一区二区在线观看| 激情六月综合| 国产手机视频一区二区| 欧美亚韩一区| 欧美日韩一区二区国产| 欧美激情女人20p| 免费在线看一区| 久久这里有精品视频|