curl https://passport.jd.com/new/login.aspx
https://passport.jd.com/new/misc/js/login2016.js?v=201702221137
/** * sdk - login2015.js * */ var LoginConstant = { HTTP_SCHEME: "http:", HTTPS_SCHEME: "https:", REMOTE_COUNTRY_CODE: "//misc.360buyimg.com/user/passport/1.0.0/js/login.countrycode-1130.js", LOCAL_COUNTRY_CODE: "user/passport-2015/js/login.countrycode.js" }; var Util = { Cookie: { set: function (name, value, expire) { var exp = new Date(); exp.setTime(exp.getTime() + expire * 24 * 60 * 60 * 1000); document.cookie = name + "=" + encodeURIComponent(value, "UTF-8") + ";expires=" + exp.toGMTString() + ";domain=passport.jd.com;path=/"; }, get: function (key) { var cookies = document.cookie ? document.cookie.split('; ') : []; for (var i = 0, l = cookies.length; i < l; i++) { var parts = cookies[i].split('='); var name = parts.shift(); var cookie = parts.join('='); if (key && key === name) { return cookie; } } }, setALCookie: function () { if ($("input[name='chkRememberMe']").prop("checked")) { var Days = 3 * 30; this.set("alpin", $("#loginname").val(), Days); } else { var v = this.get("alpin"); if (v) { this.set("alpin", "", -100); } } } }, Header: { getProtocol: function(){ var parentScheme = ''; try{ parentScheme = parent.location.protocol; }catch(e){ } if(!parentScheme){ var referer = document.referrer; if(referer.indexOf(LoginConstant.HTTPS_SCHEME) == 0){ parentScheme = LoginConstant.HTTPS_SCHEME; }else{ parentScheme = LoginConstant.HTTP_SCHEME; } } return parentScheme; } } }; (function(){ /** * 加密密码 * @param pwd */ function getEntryptPwd(pwd){ var pubKey = $('#pubKey').val(); if(!pwd || !pubKey || !SysConfig.encryptInfo){ return pwd; } var encrypt = new JSEncrypt(); encrypt.setPublicKey(pubKey); return encrypt.encrypt(pwd); } /** * 初始化国家代码弹层请求 * * @param obj */ function initCountryCode(obj) { if (obj.countryTips) { var resURL = LoginConstant.REMOTE_COUNTRY_CODE; if (obj.localRes) { resURL = LoginConstant.LOCAL_COUNTRY_CODE; } seajs.use(resURL, function (CountryCodeLayer) { CountryCodeLayer.init(); }); } } //显示验证码 function showAuthCode(){ if($("#o-authcode").css("display")!="none"){ return; } var loginUrl = "../uc/showAuthCode"; var loginName=$("#loginname").val(); $.ajax({ type: "POST", url: loginUrl + "?r=" + Math.random()+"&version=2015", contentType: "application/x-www-form-urlencoded; charset=utf-8", data: { loginName:loginName }, dataType:"text", success: function (result) { if (result) { var obj = eval(result); if (obj.verifycode) { $("#o-authcode").show(); $("#JD_Verification1").click(); } else { $("#o-authcode").hide(); } } } }); } function rememberMeCheck(){ if(!window.SysConfig.rememberMeShowEnable){ return; } var loginName=$("#loginname").val(); if(!loginName){ return; } $.ajax({ type: "POST", url: "../uc/rememberMeCheck?r=" + Math.random()+"&version=2015", contentType: "application/x-www-form-urlencoded; charset=utf-8", data: { loginName:loginName }, dataType:"text", success: function (result) { var data = eval(result); if (data.caluEnable){ return; } if (data.checked) { if($('.msg-error').text() != ""){ $('.msg-error').show(); $('.msg-warn').hide(); }else{ if($('.msg-warn').text() != ""){ }else{ $('.msg-warn').html("<b></b>公共场所不建议自动登录,以防账号丢失"); } $('.msg-warn').show(); } $('#autoLogin').prop("checked",true); }else{ $('.msg-warn').hide(); $('#autoLogin').prop("checked",false); } } }); } //登陆操作 function loginSubmit(callback) { $('#loginsubmit').text('正在登录...'); if(window.location.href.indexOf("/popupLogin2013")!=-1){ frameLoginSubmit(callback); return; } var loginUrl = "/uc/loginService"; var uuid = $("#uuid").val(); var chkRememberMe = ""; if ($('#autoLogin').attr('checked')) { chkRememberMe = "on"; } $.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: { uuid:$('#uuid').val(), eid:$('#eid').val(), fp:$('#sessionId').val(), _t:$('#token').val(), loginType:$('#loginType').val(), loginname:$('#loginname').val(), nloginpwd:getEntryptPwd($('#nloginpwd').val()), chkRememberMe:chkRememberMe, authcode:$('#authcode').val(), pubKey:$('#pubKey').val(), sa_token:$('#sa_token').val(), seqSid:window._jdtdmap_sessionId }, error: function () { showMesInfo("网络超时,请稍后再试","error"); }, success: function (result) { if (result) { var obj = eval(result); if (obj.success) { Util.Cookie.setALCookie(); var isIE = !-[1,]; if (isIE) { var link = document.createElement("a"); link.href = obj.success; link.style.display = 'none'; document.body.appendChild(link); link.click(); } else { window.location = obj.success; } return; } if (obj.transfer) { window.location = obj.transfer + window.location.search; return; } if (obj.venture) { window.location = "//safe.jd.com/dangerousVerify/index.action?username=" + obj.venture + "&ReturnUrl=" + encodeURI(obj.ventureRet) + "&p=" +obj.p+ "&t=" + new Date().getTime(); return; } if (obj.resetpwd) { window.location = "//safe.jd.com/resetPwd/reset.action?username=" + obj.resetpwd; return; } if (obj.rescue) { window.location = obj.rescue; return; } if(obj._t){ $("#token").val(obj._t); } if (obj.verifycode || obj.authcode1 || obj.authcode2 || obj.emptyAuthcode) { $("#o-authcode").show(); } $("#JD_Verification1").click(); if (obj.authcode2) { callback(obj.authcode2,"error",["#authcode"]); } if (obj.username) { initCountryCode(obj); callback(obj.username,"error",["#loginname"]); } if (obj.pwd) { initCountryCode(obj); callback(obj.pwd,"error",["#nloginpwd"]); clearPwd(); } if (obj.emptyAuthcode) { callback(obj.emptyAuthcode,"error",["#authcode"]); } } var input=$('.item-error').eq(0).find('input'); var t=input.val(); input.val("").focus().val(t); $("#loginsubmit").html("登 录"); } }); } function frameLoginSubmit(callback){ var uuid = $("#uuid").val(); var protocol = Util.Header.getProtocol(); var chkRememberMe = ""; if ($('#autoLogin').attr('checked')) { chkRememberMe = "on"; } $.ajax({ type: "POST", dataType: "text", url: "../uc/loginService?nr=1&uuid=" + uuid + "&" + location.search.substring(1) + "&r=" + Math.random() + "&version=2015", contentType: "application/x-www-form-urlencoded; charset=utf-8", data: { uuid:$('#uuid').val(), eid:$('#eid').val(), fp:$('#sessionId').val(), _t:$('#token').val(), loginType:$('#loginType').val(), loginname:$('#loginname').val(), nloginpwd:getEntryptPwd($('#nloginpwd').val()), chkRememberMe:chkRememberMe, authcode:$('#authcode').val(), pubKey:$('#pubKey').val(), sa_token:$('#sa_token').val(), seqSid:window._jdtdmap_sessionId }, error: function () { showMesInfo("网络超时,请稍后再试","error"); }, success: function (result) { if (result) { var obj = eval(result); if (obj.success || obj.transfer) { Util.Cookie.setALCookie(); var relayUrl = protocol + '//passport.jd.com/relay/loginRelay.htm'; try{ docRef = document.referrer; var regExp = /([w-]+).(jd.hk|jd360.hk|yiyaojd.com|baitiao.com)/; var match = docRef.match(regExp); if(match != null && match.length>=3){ var ua = navigator.userAgent; var isIE = (ua.indexOf('MSIE') >= 0 || ua.indexOf("Trident") >= 0); var hkShortDomainEnable = window.popupConfig.hkShortDomainEnable; if(isIE && match[2] == "jd.hk" && hkShortDomainEnable){ relayUrl = protocol + "//" + match[0] + "/relay/loginRelay.htm"; }else{ relayUrl = protocol + "//sso." + match[2] + "/popup/redirect"; } } }catch(e){ } if (obj.notnr) { window.location.href=relayUrl; return; } try { $.ajax({ type: "GET", url: obj.success, dataType: "jsonp", timeout: 1000, success: function (result) { window.location.href=relayUrl; return; } }); } catch (e) { window.location.href=relayUrl; return; } } if (obj.venture) { var parentRef=""; try{ parentRef = document.referrer; }catch(e){ } window.parent.location = protocol + "//safe.jd.com/dangerousVerify/index.action?username=" + obj.venture + "&ReturnUrl=" + encodeURI(parentRef) + "&p=" +obj.p+ "&t=" + new Date().getTime(); return; } if (obj.resetpwd) { window.parent.location = protocol + "//safe.jd.com/resetPwd/reset.action?username=" + obj.resetpwd; return; } if (obj.rescue) { window.parent.location = obj.rescue; return; } if(obj._t){ $("#token").val(obj._t); } if (obj.verifycode || obj.authcode1 || obj.authcode2 || obj.emptyAuthcode) { $("#o-authcode").show(); } $("#JD_Verification1").click(); if (obj.authcode2) { callback(obj.authcode2,"error",["#authcode"]); } if (obj.username) { initCountryCode(obj); callback(obj.username,"error",["#loginname"]); } if (obj.pwd) { initCountryCode(obj); callback(obj.pwd,"error",["#nloginpwd"]); clearPwd(); } if (obj.emptyAuthcode) { callback(obj.emptyAuthcode,"error",["#authcode"]); } } var input=$('.item-error').eq(0).find('input'); var t=input.val(); input.val("").focus().val(t); $("#loginsubmit").html("登 录"); } }); } function showMesInfo(msg, type) { $('.form>.msg-wrap').empty(); if (type == 'warn') { var info = '<div class="msg-warn"><b></b>' + msg + '</div>'; $('.form>.msg-wrap').append(info); } if (type == 'error') { var info = '<div class="msg-error"><b></b>' + msg + '</div>'; $('.form>.msg-wrap').append(info); } } /** * 清除密码 */ function clearPwd(){ $("#nloginpwd").val(""); $('#nloginpwd').siblings('.clear-btn').hide(); } function assemblyForm(){ } /** * 鼠标离开用户名 */ $('#loginname').blur(function(){ rememberMeCheck(); }); window.loginSubmit=loginSubmit; window.assemblyForm=assemblyForm; window.showAuthCode=showAuthCode; })();
CODE <!DOCTYPE html> <html> <head> <meta charset="GBK"/> <meta http-equiv="X-UA-Compatible" content="IE=Edge"/> <title>京东-欢迎登录</title> <link rel="icon" href="//www.jd.com/favicon.ico"/> <link type="text/css" rel="stylesheet" href="//misc.360buyimg.com/user/passport/1.0.0/??/widget/base/base.css,widget/common-2016-1124/common-2016-1124.css,/widget/login-form-2016-1124/login-form-2016-1124.css,/widget/login-banner/login-banner.css,/widget/safe-step/safe-step.css,widget/foreign-number-layer-1130/foreign-number-layer-1130.css" source="widget"/> <script type="text/javascript" src="//misc.360buyimg.com/jdf/lib/jquery-1.6.4.js"></script> <script type="text/javascript"> $(function () { window.SysConfig = { encryptInfo: true, rememberMeShowEnable: false }; }); </script> </head> <body> <!-- SDK 登录 --> <div class="w"> <div id="logo"> <a href="//www.jd.com/" clstag="pageclick|keycount|20150112ABD|45"> <img src="//misc.360buyimg.com/lib/img/e/logo-201305-b.png" alt="京东" width="170" height="60"> </a> <b></b> </div> <a href="//surveys.jd.com/index.php?r=survey/index/sid/568245/lang/zh-Hans" target="_blank" class="q-link"><b></b>登录页面,调查问卷</a> </div> <div id="content"> <div class="login-wrap"> <div class="w"> <div class="login-form"> <div class="login-tab login-tab-l"> <a href="javascript:void(0)" clstag="pageclick|keycount|201607144|1"> 扫码登录</a> </div> <div class="login-tab login-tab-r"> <a href="javascript:void(0)" clstag="pageclick|keycount|201607144|2">账户登录</a> </div> <div class="login-box"> <div class="mt tab-h"> </div> <div class="msg-wrap"> <div class="msg-error hide"><b></b></div> </div> <div class="mc"> <div class="form"> <form id="formlogin" method="post" onsubmit="return false;"> <input type="hidden" id="sa_token" name="sa_token" value="992-大写字母、数字"/> <input type="hidden" id="uuid" name="uuid" value="6af11588-4230-4897-9b26-321cb28e709d"/> <input type="hidden" name="eid" id="eid" value="" class="hide"/> <input type="hidden" name="fp" id="sessionId" value="" class="hide"/> <input type="hidden" name="_t" id="token" value="_ntYpkKe" class="hide"/> <input type="hidden" name="loginType" id="loginType" value="c" class="hide"/> <input type="hidden" name="pubKey" id="pubKey" value="216-大写字母、数字、+、/" class="hide"/> <input type="hidden" name="QCBQuufxss" value="TTLcR"/> <div class="item item-fore1"> <label for="loginname" class="login-label name-label"></label> <input id="loginname" type="text" class="itxt" name="loginname" tabindex="1" autocomplete="off" placeholder="邮箱/用户名/已验证手机"/> <span class="clear-btn"></span> </div> <div id="entry" class="item item-fore2"> <label class="login-label pwd-label" for="nloginpwd"></label> <input type="password" id="nloginpwd" name="nloginpwd" class="itxt itxt-error" tabindex="2" autocomplete="off" placeholder="密码"/> <span class="clear-btn"></span> <span class="capslock"><b></b>大小写锁定已打开</span> </div> <div id="o-authcode" class="item item-vcode item-fore3 hide "> <input id="authcode" type="text" class="itxt itxt02" name="authcode" tabindex="3"> <img id="JD_Verification1" class="verify-code" src2="//authcode.jd.com/verify/image?a=1&acid=7af11544-4550-4507-9b63-524cb28e508d&uid=7af11544-4550-4507-9b63-524cb28e508d" onclick="this.src= document.location.protocol +'//authcode.jd.com/verify/image?a=1&acid=7af11544-4550-4507-9b63-524cb28e508d&uid=7af11544-4550-4507-9b63-524cb28e508d&yys='+new Date().getTime();$('#authcode').val('');"/> <a href="javascript:void(0)" onclick="$('#JD_Verification1').click();">看不清换一张</a> </div> <div class="item item-fore4"> <div class="safe"> <span> </span> <span class="forget-pw-safe"> <a href="/uc/links?tag=safe" class="" target="_blank" clstag="pageclick|keycount|201607144|3">忘记密码</a> </span> </div> </div> <div class="item item-fore5"> <div class="login-btn"> <a href="javascript:;" class="btn-img btn-entry" id="loginsubmit" tabindex="6" clstag="pageclick|keycount|201607144|3">登 录</a> </div> </div> </form> </div> </div> </div> <div class="qrcode-login"> <div class="mc"> <div class="qrcode-error-2016"> <div class="qrcode-error-mask"> </div> <p class="err-cont">服务器出错</p> <a href="javascript:void(0)" class="refresh-btn">刷新</a> </div> <div class="qrcode-main"> <div class="qrcode-img"> <img src="//img14.360buyimg.com/da/jfs/t559/51/841097244/15946/f4ff9e8/548faf09N1acc240e.png" alt=""> </div> <div class="qrcode-help" style="display: none; "></div> </div> <div class="qrcode-panel"> <ul> <li class="fore1"> <span>打开</span> <a href="/uc/links?tag=apps" target="_blank" clstag="pageclick|keycount|201607144|9"> <span class="red">手机京东</span></a> </li> <li>扫描二维码</li> </ul> </div> <div class="coagent qr-coagent" id="qrCoagent"> <ul> <li><b></b><em>免输入</em></li> <li><b class="faster"></b><em>更快 </em></li> <li><b class="more-safe"></b><em>更安全</em></li> </ul> </div> </div> </div> <div class="coagent" id="kbCoagent"> <ul> <li> <b></b> <a href="javascript:void(0)" onclick="window.location='//qq.jd.com/new/qq/login.aspx'+window.location.search;return false;" clstag="pageclick|keycount|201607144|6" class="pdl"><b class="QQ-icon"></b><span>QQ</span></a> <span class="line">|</span> </li> <li> <a href="javascript:void(0)" onclick="window.location='//qq.jd.com/new/wx/login.action'+window.location.search;return false;" clstag="pageclick|keycount|201607144|7" class="pdl"><b class="weixin-icon"></b><span>微信</span></a> </li> <li class="extra-r"> <div> <div class="regist-link"><a href="//reg.jd.com/reg/person?ReturnUrl=http%3A%2F%2Fwww.jd.com" clstag="pageclick|keycount|201607144|8" target="_blank"><b></b>立即注册</a></div> </div> </li> </ul> </div> </div> </div> <div class="login-banner" clstag="pageclick|keycount|20150112ABD|46"> <div class="w"> <div id="banner-bg" class="i-inner" > </div> </div> </div> </div> </div> <div class="w"> <div id="footer-2013"> <div class="links"> <a rel="nofollow" target="_blank" href="//www.jd.com/intro/about.aspx"> 关于我们 </a> | <a rel="nofollow" target="_blank" href="//www.jd.com/contact/"> 联系我们 </a> | <a rel="nofollow" target="_blank" href="//zhaopin.jd.com/"> 人才招聘 </a> | <a rel="nofollow" target="_blank" href="//www.jd.com/contact/joinin.aspx"> 商家入驻 </a> | <a rel="nofollow" target="_blank" href="//www.jd.com/intro/service.aspx"> 广告服务 </a> | <a rel="nofollow" target="_blank" href="//app.jd.com/"> 手机京东 </a> | <a target="_blank" href="//club.jd.com/links.aspx"> 友情链接 </a> | <a target="_blank" href="//media.jd.com/"> 销售联盟 </a> | <a href="//club.jd.com/" target="_blank"> 京东社区 </a> | <a href="//gongyi.jd.com" target="_blank"> 京东公益 </a> | <a target="_blank" href="//en.jd.com/" clstag="pageclick|keycount|20150112ABD|9">English Site</a> </div> <div class="copyright"> Copyright © 2004-2017 京东JD.com 版权所有 </div> </div> </div> <script type="text/javascript" src="//misc.360buyimg.com/jdf/1.0.0/unit/base/1.0.0/base.js"></script> <script type="text/javascript" src="/new/js/jsencrypt.min.js"></script> <script type="text/javascript" src="/new/misc/js/login2016.js?v=201702221137"></script> <script type="text/javascript" src="//misc.360buyimg.com/user/passport/1.0.0/js/login.index.2016-1130.js" source="widget"></script> <script type="text/javascript"> ~function () { var data = [{ src: "//img12.360buyimg.com/da/jfs/t4906/230/212513535/58511/85f3953d/58dce02dNe7f59c2a.jpg", bgColor: "#22b39d", weight: "4" }, { src: "//img13.360buyimg.com/da/jfs/t2749/276/1020747574/33213/870500f1/5731485aN1134b4f0.png", bgColor: "#e93854", weight: "4" }, { src: "//img30.360buyimg.com/da/jfs/t4522/358/1311178851/389232/dbd2d00c/58dc8175Ndcc4448b.jpg", bgColor: "#0D0302", weight: "4" }]; var getRandom = function (arr) { var _temp = 0, _random = 0, _weight, _newArr = []; for (var i = 0; i < arr.length; i++) { _weight = arr[i].weight ? parseInt(arr[i].weight) : 1; _newArr[i] = []; _newArr[i].push(_temp); _temp += _weight; _newArr[i].push(_temp); } _random = Math.ceil(_temp * Math.random()); for (var i = 0; i < _newArr.length; i++) { if (_random > _newArr[i][0] && _random <= _newArr[i][1]) { return arr[i]; } } }; var tpl = '<div class="login-banner" style="background-color: {bgColor}"> <div class="w"> <div id="banner-bg" clstag="pageclick|keycount|20150112ABD|46" class="i-inner" style="background: url({imgURI}) 0px 0px no-repeat;background-color: {bgColor}"></div> </div> </div>'; var bgData = getRandom(data); var bannerHtml = tpl.replace(/{bgColor}/g, bgData.bgColor).replace(/{imgURI}/g, bgData.src); $('.login-banner').replaceWith(bannerHtml); }();</script> <script type="text/javascript"> (function () { var ja = document.createElement('script'); ja.type = 'text/javascript'; ja.async = true; ja.src = ('https:' == document.location.protocol ? 'https://cscssl' : '//csc') + '.jd.com/wl.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ja, s); })(); </script> <script src="//payrisk.jd.com/js/td.js"></script> <script> $(function () { getJdEid(function (eid, fpid) { var eValue = eid; var fpValue = fpid; var ee = $("#eid").prop("value", eValue); var fp = $("#sessionId").prop("value", fpValue); }); }); </script> <script type="text/javascript"> var _jraq = _jraq || []; _jraq.push(['account', 'UA-J2011-12']); (function () { var ja = document.createElement('script'); ja.type = 'text/javascript'; ja.async = true; ja.src = ('https:' == document.location.protocol ? 'https://jrclick' : '//jrclick') + '.jd.com/wl.dev.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ja, s); })(); </script> <script type="text/javascript" src="//seq.jd.com/jseqf.html?bizId=passport_jd_com_login_pc&platform=js&version=1"></script> <!-- SDK 登录 --> </body> </html>