全国 【切换城市】欢迎您来到装修百科!
关注我们
我要装修

模拟登录流程(模拟登录下载)

发布:2024-09-15 浏览:58

核心提示:不管是抢购火车票还是电商网站上抢购商品,如果在节假日没有抢购工具是很难靠手动抢到的,所以市面上的抢购工具也是层出不穷,但流程都是差不多的,大体上分为2步:1.模拟用户登录 2.发送订单请求 今天主要介绍一下第一步:模拟用户登录,作为登录我也把它拆分成了这4步:1.准备登录 2.验证码 3.执行登录请求 4.验证登录是否成功 准备1.chrome浏览器:因为需要借助chrome强大的开发者工具2.开源中国的在线工具:密码的加密解密和一些格式化工具方便查看3.eclipse:开发工具模拟登录--以下仅供个人学

不管是抢购火车票还是电商网站上抢购商品,如果在节假日没有抢购工具是很难靠手动抢到的,所以市面上的抢购工具也是层出不穷,但流程都是差不多的,大体上分为2步:1.模拟用户登录2.发送订单请求今天主要介绍一下第一步:模拟用户登录,作为登录我也把它拆分成了这4步:1.准备登录2.验证码3.执行登录请求4.验证登录是否成功准备1.chrome浏览器:因为需要借助chrome强大的开发者工具2.开源中国的在线工具:密码的加密解密和一些格式化工具方便查看3.eclipse:开发工具模拟登录--以下仅供个人学习使用​1.分析请求地址主要分析验证码的请求,登录的请求,以及为登录提供参数的请求,选定一个网站比如:开源中国,进入它的登录界面:https://www.oschina.net/home/login,这时候打开开发者工具(ctrl+shift+i),如图:我们主要关心的是Network这个标签页验证码的请求:我们发现有些网站没有验证码比如:开源中国和京东,还有些直接需要验证码比如:华为商城,其实这些没有验证码的网站只是在正常登陆的情况下没有,当出现一些非正常情况会出现验证码,比如连续多次登陆失败,所有我们可以通过这个方式让验证码框出现,如下图:这时候我们想获取验证码的请求就很容易了,点击:换另外一张图片,这时候看Network标签:我们可以开启另外一个浏览器标签页:https://www.oschina.net/action/user/captcha,每次刷新都产生一个新的验证码登录的请求:为了方便查看登录请求地址,我们可以写一个错误的密码,方式和上面一样,如下图所示:是以post方式发送的请求,所有我们需要找到Form Data,在Headers标签的最下面就是Form Data数据:email:******@126.compwd:90ba8346f7f1a304a0e53abbf97ebc5051a3837dverifyCode:save_login:1一共4个参数,分别是:用户名,密码,验证码和save_login,这个参数还是比较少的,都是用户自己输入的参数,没有需要我们获得额外的参数;关于pwd参数,有些网站是加过密的比如:开源中国,这里具体用的什么加密算法,其实我们刚开始并不用去查看网页的Javascript脚本,找出里面到底用的什么算法,我们可以用穷举法,因为常用的加密算法就那么几种:md5,base64,aes,des,sha1等,所有我们完全可以先大致看一下,很幸运当前使用的加密算法是:sha1为登录提供参数的请求:这个请求是根据登录的请求来的,如果我们在Form Data中有一些其他的参数,这时候就需要额外的请求来获取Form Data中的参数,比如在模拟京东登录的时候就有这个需求,一般情况下需要请求的地址就是登录页面https://www.oschina.net/home/login,很多参数都在你进入登录界面的时候发送过来了,但具体参数在什么地方就不确定了,有可能在html代码里面,也可能在脚本里面,也有可能是其他的某个请求,这个就需要根据实际情况,自己做一些分析2.整理思路写代码整体思路就是刚刚上面提到的:1.准备登录2.验证码3.执行登录请求4.验证登录是否成功代码结构: public void login() { try { readyLogin(); getAuthCodeImage(); getInputAuthCode(); int result = executeLogin(); if (result == Constants.SUCCESS) { testLogin(); } } catch (Exception e) { logger.error("登陆异常", e); } } protected abstract void readyLogin() throws Exception; protected abstract int executeLogin() throws Exception; protected abstract void testLogin() throws Exception; private void getAuthCodeImage() throws Exception {} private void getInputAuthCode() throws Exception {} protected abstract String getReadyLoginUrl(); protected abstract String getAuthCodeImageUrl(); protected abstract String getLoginUrl();针对这个结构分布模拟了:开源中国,京东,华为商城 3个网站的登录详细代码:https://github.com/ksfzhaohui/simulation-login总结其实模拟登录说白了就是看你对http协议是否了解,还有就是细心观察,当然还有其他一些网站可能就不那么简单了,比如淘宝,可能还需要其他方面的知识,比如加密解密.最后再说一遍:以上仅供个人学习使用

  • 收藏

分享给我的朋友们:

上一篇:什么是商品房?商住房与住宅房的区别?(商住房和商品房) 下一篇:[汉典装饰公司]室内装修如何做好预算表才能省钱(汉典装饰公司)

一键免费领取报价清单 专享六大服务礼包

装修全程保障

免费户型设计+免费装修报价

已有312290人领取

关键字: 装修设计 装修公司 别墅装修设计

发布招标得免费设计

申请装修立省30%

更多装修专区

点击排行