前言利用利用Python模拟登录淘宝网 。废话不多说 。
让我们愉快地开始吧~
开发工具Python版本: 3.6.4
相关模块:
re模块
os模块
requests模块;
以及一些Python自带的模块 。
环境搭建安装Python并添加到环境变量,pip安装需要的相关模块即可 。
登录流程分析先给家展示淘宝登录请求时序图,方便大家理解

文章插图
注解:淘宝ua参数:ua(User-Agent)故名用户代理,淘宝的ua参数加入了浏览器、ip、电脑、时间等信息,然后加密生成,在很多地方使用,不仅仅是登录!
代码层面考虑将模拟登录淘宝分为以下四个步骤:
- 输入用户名后,浏览器会向淘宝(taobao.com)发起一个post的请求,判断是否出现滑块验证!
- 用户输入密码后,浏览器向淘宝(taobao.com)又发起一个post请求,验证用户名密码是否正确,如果正确则返回一个token 。
- 浏览器拿着token去阿里巴巴(alibaba.com)交换st码!
- 浏览器获取st码之后,拿着st码获取cookies,登录成功

文章插图
从上图可以看出,当输入用户名后,浏览器就会发起一个post请求,来验证是否需要出现滑块验证码,如果返回true,滑块验证码则出现!否则不出现,一般是不会出现!图中我们可以看到这次post请求上传了两个参数:username、ua!前面说过ua为浏览器、ip、设备信息等多信息加密参数,所以猜想淘宝的验证码是否出现不仅仅从账号角度,还有ip、设备等角度!
举个例子:某台设备可能出现登录过大量的账号,这时候淘宝就可以从ua参数中获取设备号,然后对该设备进行限制!
知道了流程和请求链接及参数之后,我们就可以用代码来请求了!

文章插图
2.验证用户名密码这里一步也就是上面时序图图中的第5步:请求登录,这里会将用户名、ua参数、加密密码等30十几个参数post到淘宝(taobao.com)去验证 。

文章插图
我们来用代码实现一下,参数很多别被吓到,都是从浏览器复制过来的!

文章插图
请求结果

文章插图
可以看到申请st码链接后面带了一个token
3.申请st码上面我们已经申请到了淘宝(taobao.com)的token,这一步就是用token来换取st码 。到这里很多人可能会有疑问:为什么淘宝登录需要这么麻烦呢?直接在 taobao.com 登录不就可以吗?为什么要先在taobao验证用户名密码,通过之后再去 alibaba.com 换取st码登录呢?任何公司的框架都是慢慢演变的结果,我猜想最开始的淘宝登录肯定没这么复杂 。但是随着阿里巴巴的慢慢壮大,很多事业线都划分开来,但是这些事业线之间又有关联性,比如用户登录了淘宝账号之后天猫就不需要再登录(注意淘宝和天猫的顶级域名不同,所以不能共享cookis)为了实现这个功能,单点登录就出现了 。
单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一 。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统 。——百度百科
- 新车除味最有效方法 怎样快速除掉新车异味
- 怎样解决无法识别的USB设备 无法识别usb设备如何解决
- oppoa55手机闪光灯怎么开 oppoa5怎样设置来电闪光灯
- 余额宝收益是怎么计算的 余额宝怎样计算收益
- 百度爱奇艺网站 爱奇艺门户网站登录
- 铺位风水怎样才好 门位置风水
- 风水西北缺角怎样化解 风水 西北缺角
- 怎样才能快速怀孕? 如何快速受孕
- 鱼尾纹怎么消除 怎样消除鱼尾纹
- 怎样炖大鹅肉烂得快 大鹅肉快速炖烂的方法窍门是什么
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
