技术流:纯代码模拟登录耐克官网思路分享

本文分享了如何使用纯代码模拟登录耐克官网的思路,涉及登录接口分析、Cookie处理、JavaScript动态行为研究等,揭示了网站登录过程中Cookie的复杂使用,以及解决模拟登录的关键步骤和问题,包括获取visitor字段、初始化Cookie、理解并生成sensor_data等挑战。
摘要由CSDN通过智能技术生成

前情提要

起源

在码市上看到了一个价值 1000 RMB 的项目:耐克官网模拟登录,唯一要求是纯代码模拟登录。

原本觉得不会有多难,抱着试一试的想法搞了一天,没想到的是,真的是刷新了我对网站 Cookie 使用的认知,Cookie 还可以这么玩?

声明

关于登录信息的提交这些,和其他网站一样,都是简单的表单 Post,不必多说,关于网站接口的 url 我会在详细说到的时候给出

完整实现代码,本篇文章不会给出,因为在大多数情况,这类代码属于灰产,所以本着学习交流的心态,我只分享一下思路

准备

工具

  • 火狐浏览器:Hacking 必备

  • 火狐插件:Cookie AutoDelete 方便重置网站 Cookie

  • js_beautify js 代码解压缩

  • vscode 编辑器 用于查看编辑 js 代码

开发

  • 环境:Python,NodeJS

  • Idea:PyCharm

  • python 库:requests,execjs,uuid

  • node 库:jsdom

准备阶段

以下将采用大量截图的方式,重现分析过程,流量党告退

登录接口

想要模拟登录,当然是直接从登录接口下手

接口信息如下:

URL

 https://unite.nike.com/login

查询字符串

login-query-str

Request Headers

login-request-headers

Request Cookie

login-request-cookie

Request Payload

login-request-payload

Ok,齐活

接口精简

可以看到,这个登录接口相当复杂,所以和平常一样,试着精简请求,逐渐得到最精简的接口

以下过程全部使用火狐开发者工具的编辑重发功能,过程省略

只强调一点,由于登录接口有使用次数限制,为了避免重复登录封号以及太累,所以我采取了以下措施:

  • 优先精简了部分比较麻烦的字段

  • 使用故意使用错误的用户信息登录得到的 "401" 错误来判断字段是否精简成功

  • 火狐隐私窗口进行所有测试工作:解决登录次数过多出现的错误窗口

精简结果如下:

  1. 查询字符串

     'uxid': 'com.nike.commerce.nikedotcom.web',
     'locale': 'zh_CN',
     'backendEnvironment': 'identity',
     'visit': '1',
     'visitor': '',
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值