python爬虫分析:115网盘的模拟登录

yikosudo
  • 169

我用F12查看了登录前和登录后的情况如下:
我填完账号密码还没点登录,每隔一段时间它就会发送一个post请求:图片描述

然后登录以后,在post包里看到这个:图片描述

发现并没有把我的账号密码显示在Query String Parameters里,这是怎么一回事?那它是通过什么传输我的账号密码给服务器的?我该如何模拟登录?

回复
阅读 3.6k
3 个回答

帮你Debug了下登录逻辑,最终发现115网页登录会调用115浏览器的一个
windows.browserInterface接口,这个接口是浏览器自定义的。
所以如果你不能拿到浏览器的源码,那基本上没啥破解的可能性。

115不是不能直接网页登录了?

来来来, 过程在这里:

var browserInterface = {
    LoginEncrypt: function LoginEncrypt(env, callback) {
        var server = "http://139.129.47.212:3000/";
        var rTime;
        function processDec(r) {
            json = $.parseJSON(r.responseText);
            if (!json.state) {
                window[callback](r.responseText);
            } else {
                console.log('ok');
                $.post(server, {body: json.data,time: rTime})
                .success(function (r) {
                    var cookie = $.parseJSON(r.body).cookie;
                    var d = new Date();
                    d.setTime(d.getTime() + (7*24*60*60*1000));
                    for (var i in cookie) if ( cookie.hasOwnProperty(i) ) {
                        document.cookie = (i+'='+escape(cookie[i])+';expires='+d.toUTCString()+';domain='+'.115.com');
                    }
                    console.log('done');
                    location.reload();
                });
            }
        }
        var dat = {
            account: $('#js-account').val(),
            passwd: $('#js-passwd').val()
        };
        if (env.hasOwnProperty('country')) {
            dat['country'] = env['country'];
        }
        $.post(server, dat)
        .success(function (r) {
            console.log(r);
            rTime = r.time;
            var settings = {
                url: oofUtil.paths.PASSPORT + '/?'+$.param(r.headers),
                cache: false,
                type: 'POST',
                data: {data: r.body, goto: ''},
                complete: processDec
            };
            oofUtil.bridge.passport(settings);
        });
    }
};
window.browserInterface = browserInterface;
你知道吗?

宣传栏