铁道部网站登录难点分析
技术解析
开始步骤
- 使用IE8及其以上的版本,IE7及以下版本需要另外下载微软官方的IE开发者工具栏,下载链接如下:
- Internet Explorer Developer Toolbar: http://www.microsoft.com/download/en/details.aspx?id=18359
- 在IE地址栏中访问铁道部登录页面 https://dynamic.12306.cn/otsweb/loginAction.do?method=init
- 需要 且 只需要输入一次自己的用户名,密码,验证码即可
- 按F12快捷键调出IE开发者工具栏 >>> Script(脚本)选项卡 >>> 复制如下图代码到内容文本框中 >>> 点击 Run Script(运行脚本) 按钮
-
var page = "https://dynamic.12306.cn/otsweb/loginAction.do?method=init";var url = "https://dynamic.12306.cn/otsweb/loginAction.do?method=login";var queryurl = "https://dynamic.12306.cn/otsweb/order/querySingleAction.do?method=init";function submitForm() {var _ifrMain = document.getElementById('main');var userName = _ifrMain.contentWindow.document.getElementById('UserName');var password = _ifrMain.contentWindow.document.getElementById('password');var randCode = _ifrMain.contentWindow.document.getElementById('randCode');var subLink = _ifrMain.contentWindow.document.getElementById('subLink');var submitUrl = url;$.ajax({type: "POST",url: submitUrl,data: {"loginUser.user_name": userName.value, "user.password": password.value, "randCode": randCode.value},timeout: 30000,success: function (msg) {if (msg.indexOf('请输入正确的验证码') > -1) {alert('请输入正确的验证码!');};if (msg.indexOf('当前访问用户过多') > -1) {reLogin(msg);}else {location.replace(queryurl);};},error: function (msg) {reLogin(msg);},beforeSend: function (XHR) {;}});}var count = 1;function reLogin(msg) {count++;subLink.innerHTML = "(" + count + ")次登录中..." + msg;setTimeout(submitForm, 500);}submitForm();
- 后面执行情况说明
- 点击了运行脚本按钮后,对客户来说,登录操作是自动化的了,无需其他操作,只待登录成功即可。
- 执行成功说明 ,如下图,看到自己的用户名后,即登录成功
最后总结
- 不足
- 前些天买票高峰期已过, 此技巧来得太晚 , 我的票别人帮忙订的,我没太注意用技术实现容易登录。
- 足
转载于:https://www.cnblogs.com/cnshangsha/archive/2012/01/12/12306cnautologin.html