[记录][续爬虫]模拟京东登录并且抢购物券

1、登录
2、进去卷中心
3、得到券列表
4、领券【大致路径:/freeGetCoupon.html?key=xxxx】【权限原因,这里就不上模拟了,只提供思路】

1、找到登录js,分析登录请求【在登录页面
里面】【当然也可以直接分析网络请求,都差不多】


贴一部分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<ype=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后面就行了】【自己去解析验证码】

你可能感兴趣的:(Java,Java,爬虫,京东)