1. 程式人生 > >[記錄][續爬蟲]模擬京東登入並且搶購物券

[記錄][續爬蟲]模擬京東登入並且搶購物券

1、登入
2、進去卷中心
3、得到券列表
4、領券【大致路徑:/freeGetCoupon.html?key=xxxx】【許可權原因,這裡就不上模擬了,只提供思路】

1、找到登入js,分析登入請求【在登入頁面<script type="text/javascript" src="/new/misc/js/login2015.js"></script>
裡面】【當然也可以直接分析網路請求,都差不多】


貼一部分js原始碼:
 //登陸操作
    function loginSubmit(callback) {
        var loginUrl = "../uc/loginService";
        var uuid = $("#uuid").val();
        $.ajax({
            url: loginUrl + "?uuid=" + uuid + "&" + location.search.substring(1) + "&r=" + Math.random()+"&version=2015",
            type: "POST",
            dataType: "text",
            contentType: "application/x-www-form-urlencoded; charset=utf-8",
            data: $("#formlogin").serialize(),
            error: function () {
                showMesInfo("網路超時,請稍後再試","error");
            },
            success: function (result) {...}
            }
        });
    }




登入地址即:https://passport.jd.com/uc/loginService


2、url猜想:


https://passport.jd.com/uc/loginService?uuid=f703e647-9cd3-4ead-9573-0ae929dbf9ef&ltype=logout&r=0.6494495067449563&version=2015&loginname=xxx&nloginpwd=xxx&loginpwd=aaaa&eid=5b6ce162e7d840f29a42f19afa88e24d1525869319&fp=a303fef3b9dd71226a6845216d8932bf&_t=_ntcGjXq&XzeobRqeoU=JGNZO&chkRememberMe=on

訪問這個會報一個錯誤:【大致的意思是:請重新整理頁面後重新提交(其實就是驗證失敗)】

({"username":"\u8bf7\u5237\u65b0\u9875\u9762\u540e\u91cd\u65b0\u63d0\u4ea4","_t":"_ntijDOz"})


3、那麼繼續往下找看看是否有其他引數錯誤,最後我才發現原來是_t引數,每次登陸後_t引數會發生改變,ok,改變一下_t的值,bingo!現在已經提示賬號密碼錯誤了。(返回如下)

({"pwd":"\u8d26\u6237\u540d\u4e0e\u5bc6\u7801\u4e0d\u5339\u914d\uff0c\u8bf7\u91cd\u65b0\u8f93\u5165","_t":"_ntwERQb"})【賬戶名與密碼不匹配,請重新輸入】

4、登入成功後的效果:


({"success":"http://www.jd.com"})

【如果刷的太頻繁,請使用代理或者解析驗證碼,引數名稱就是authcode,放在url後面就行了】【自己去解析驗證碼】