怎样登录我的淘宝 淘宝登陆


最近想爬取淘宝的一些商品 , 但是发现如果要使用搜索等一些功能时基本都需要登录 , 所以就想出一篇模拟登录淘宝的文章!

怎样登录我的淘宝 淘宝登陆

文章插图

淘宝登录就比较复杂 , 为什么说复杂呢?因为淘宝登录涉及参数多且请求不止一次!我们就先来讲讲淘宝登录的流程 , 先把流程原理搞懂 , 再去敲代码 , 这样大家就容易理解!
一、淘宝登录流程
为了便于大家理解 , 画了一个非标准的淘宝登录请求时序图
怎样登录我的淘宝 淘宝登陆

文章插图

淘宝ua参数:ua(User-Agent)故名用户代理 , 淘宝的ua参数加入了浏览器、ip、电脑、时间等信息 , 然后加密生成 , 在很多地方使用 , 不仅仅是登录!
上图是比较详细的流程图 , 从代码层面考虑将模拟登录淘宝分为以下四个步骤:
1、输入用户名后 , 浏览器会向淘宝(taobao.com)发起一个post的请求 , 判断是否出现滑块验证!
2、用户输入密码后 , 浏览器向淘宝(taobao.com)又发起一个post请求 , 验证用户名密码是否正确 , 如果正确则返回一个token 。
3、浏览器拿着token去阿里巴巴(alibaba.com)交换st码!
4、浏览器获取st码之后 , 拿着st码获取cookies , 登录成功
【怎样登录我的淘宝 淘宝登陆】这里也许有同学会提出疑问:为什么淘宝(taobao.com)验证通过之后还要拿着 token去阿里巴巴(alibaba.com)交换st码呢? 这个我们放后面讲!
二、模拟登录实现
上面我们只讲了大概的登录流程 , 这里猪哥会先详细讲解下每一步的操作 , 然后再贴出实现代码!
1.判断是否需要验证码
目前我们在登录淘宝的时候 , 大多数情况下是不会出现滑块验证码 , 猪哥尝试了很多次的登录退出也只是在中间出现过一次 , 那究竟是什么在控制是否需要滑块验证码的呢?
怎样登录我的淘宝 淘宝登陆

文章插图

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

文章插图

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

文章插图


特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。