抓包技术的应用示例

news2024/11/15 5:50:01

前言

最近瑞幸在搞活动,每天免费送10000份咖啡,我是个不喝咖啡的人儿,所以没咋关注,今早我们的团宠小妹,拉着我 10点整拼手速,想着帮她抢一杯,于是点开瑞幸咖啡小程序主页,banner 栏轮播图中有一张海报入口,操作一通下来,果然,没抢到。

手速不够快不是主要原因,手指操作延迟 + 系统页面跳转耗时加起来到 http 发出就已经耽误了1 -2 秒钟了,这个时间才是关键,本文从技术角度探讨下怎么在最小成本比如几分钟内,实现一个小工具,来解决这个问题。

抓包工具

首先需要一个抓包工具,iphone 手机可以用 stream, 有几个注意点:

1、默认安装后是无法抓取 https 类型的,需要在设置里进行相关配置:

如果您要抓取 HTTPS 的请求,需要先启动抓包,然后安装 CA 证书后,去设置-通用-关于-证书信任设置 里信任 CA,才可以查看请求的内容。

Pasted image 20230601122258.png

2、注意小程序里面哦(原生的可能抓不到),拿到的接口名如下:

https://mkt.lkcoffee.com/ladder/capi/resource/m/promo/activity/send

stream 提供了 curl 的拷贝,将其复制并导入到 postman 中。

WechatIMG247.png

postman 导入&复现

点击 import 按钮,在弹窗中选择 raw text 将复制的 curl 字符串粘贴进去,点击确认,就成功的将 这个 http 接口导入到了 postman 中,尝试点击 send 按钮,发现拿到了正确的响应,验证了该接口已经可以正常使用。

截屏2023-06-01 12.43.31.png

Pasted image 20230601122933.png

自动化脚本?

其实到这一步,已经实现了目标,点击 send 直接发送请求,大大提升了抢到的概率,如果你还想更进一步,那么可以尝试将其封装成 自动化脚本,来实现定时、自动、重复发送;

点开右侧代码块,选择语言,假设选择 python(也可以任意选择你擅长的语言),然后就自动生成 python 版本的可执行代码片段,我们就在这个基础上拓展功能;

截屏2023-06-01 12.48.19.png

示例代码如下:

import requests
import time

url = "http://example.com"  # 将此处的 URL 替换为你要请求的地址
payload = {}
headers = {
	#将 postman 中的headers 复制过来
}

start_time = "09:59:55"  # 设置开始请求的时间
end_time = "10:00:30"  # 设置结束请求的时间

def make_request():
    response = requests.get(url, headers=headers, data=payload)
    if "成功" in response.text:
        print("响应内容:", response.text)
        raise SystemExit  # 中断程序

while True:
    current_time = time.strftime("%H:%M:%S", time.localtime())
    if current_time >= start_time and current_time <= end_time:
        make_request()
    time.sleep(1)  # 每秒检查一次当前时间

将其保存到本地并通过 python 指令来执行,就可以运行了。

总结

用今天的午睡时间,写了这篇文,以瑞幸的营销活动为例子,带你感受了下技术的魅力,其中涉及到了抓包、自动化脚本、定时任务、请求策略、stream 和 postman 等知识;


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/683312.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数学建模常用算法之主成分分析

数学建模常用算法之主成分分析 引言步骤实例以及代码 引言 主成分分析是一种降维算法&#xff0c;它能将多个指标转换为少数几个主成分&#xff0c;这些主成分是原始变量的线性组合&#xff0c;且彼此之间互不相关&#xff0c;且能反映出原始数据的大部分信息。 一般来说&#…

机器学习笔记 - vision transformer(ViT)简述

一、ViT简述 视觉转换器 vision_transformer(ViT) 因其令人印象深刻的准确率和计算效率而迅速成为卷积神经网络 (CNN) 在计算机视觉任务中的首选替代品。ViT模型在许多数据集和任务组合中的表现比CNN高出近4倍,从而确立了自己作为非常强大的竞争者的地位。 同样,基于转换…

采样中断服务程序原理

采样中断服务程序框图如图2&#xff0d;6所示。采样中断服务程序主要包括采样计算&#xff0c;TV、TA断线自检和保护起动元件三个部分。同时还可以根据不同的保护特点&#xff0c;增加一些检测被保护系统状态的程序。 一、采样计算概述 进入采样中断服务程序&#xff0c;首先进…

抖音林客服务商入驻申请

抖音林客服务商后台提供了以下主要功能&#xff1a; 数据报告&#xff1a;可以查看账户的广告投放、效果等数据报告&#xff0c;并进行数据分析和优化。 广告投放平台&#xff1a;可以创建和管理广告投放计划、定向和出价等设置&#xff0c;以及监控广告投放效果。 …

【032】C++高级开发之继承机制详解(最全讲解)

C的继承机制详解 引言一、继承和派生1.1、继承的概念和意义1.2、派生类的定义 二、继承中的构造和析构2.1、子类的构造和析构顺序2.2、子类调用成员对象、父类的有参构造 三、子类和父类的同名处理3.1、子类和父类同名成员数据3.2、子类和父类同名成员函数3.3、子类重定义父类的…

2.5C++多重继承

C 多重继承概述 C中的多重继承是指一个派生类可以从多个基类中继承属性和方法。 多重继承的作用是让 C 中的类更灵活地组合&#xff0c;以及实现代码的高复用。 多重继承的语法如下&#xff1a; access_specifier可以是public、protected或private&#xff0c;用来指定继承…

python学习——文本数据处理

目录 1 计算长度 len2 大小写 lower、upper、title、capitalize、swapcase3 字符检索 get、slice4 元素提取 findall、extract5 索引操作 find、index6 字符类型判断,结果一定是True或False7 字符判断 contains、startswith、endswith8 替换 replace9 字符的分割 split、partit…

鸿蒙HarmonyOS开发环境初识及搭建

一 鸿蒙简介 HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。在传统的单设备系统能力基础上&#xff0c;HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念&#xff0c;能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备&#xff0c;提供…

A Sequence-to-Set Network for Nested Named Entity Recognition

原文链接&#xff1a; https://www.ijcai.org/proceedings/2021/0542.pdf IJCAI 2021 介绍 问题 将嵌套NER视为span分类任务存在两个缺陷&#xff0c;不仅搜索空间大还缺少了实体之间的交互。 IDEA 因此作者提出了sequence-to-set的模型&#xff0c;不再提前给定span&#x…

【数据分享】全国县市2000-2021年农业、工业数据(免费获取)

《中国县域统计年鉴》是一部全面反映我国县域社会经济发展状况的资料性年鉴&#xff0c;收录了上一年度全国2000多个县域单位的基本情况、综合经济、农业、工业、教育、卫生、社会保障等方面的资料。 之前基于《中国县域统计年鉴》我们分享了2000至2021年的综合经济数据&#…

详解eslint在vue中如何使用

ESLint在vue中的使用 阅读目录 .editorconfig文件&#xff08;主要用于配置IDE&#xff09;.eslintignore文件&#xff08;放置需要ESLint忽略的文件&#xff0c;只对.js文件有效&#xff09;.eslintrc.js 文件(用来配置ESLint的检查规则) ESLint的用途 1.审查代码是否符合编…

SwinTransformer与Vit细节总结

建议通过标题来快速跳转 Vit (Vision Transformer) Vit把图片打成了patch&#xff0c;然后过标准的TransformerEncoder&#xff0c;最后用CLS token来做分类 Vit的位置编码 作者在文中试了几种方式&#xff0c;发现这几种在分类上效果差不多 1-dimensional positional emb…

EMQ 明道云:零代码高效构建工业物联网设备管理平台

背景 智能物联网设备在 IIoT 场景中有着广泛的应用&#xff0c;但如何管理和监控这些设备是一个挑战。 明道云是一家专业的 hpaPaaS 平台服务商&#xff0c;其所开发的明道云平台&#xff08;Mingdao Cloud&#xff09;是一个企业软件设计和开发工具&#xff0c;让企业可以低…

[230608] 阅读TPO58汇总|7:30-9:00+17:05

目录 ​​​​​​​ TPO58 1 The Development of Instrumental Music [3]修辞目的题 举例说明的作用 [9]句子插入题 [10]小结题 2 Pinyon Pines and Pinyon Jays [4]否定事实信息题 [5]修辞目的题 段落在全篇的作用 [10]小结题 3 The Rise of Classic Maya Civi…

SecCertificate 解析

一、SecCertificate A digital certificate is a collection of data used to securely distribute the public half of a public/private key pair. 数字证书 1. 结构 2. 读取和存储 2.1 Identity var certificate: SecCertificate? let status SecIdentityCopyCertific…

12.分布式事务流程与事务消息源码分析

highlight: arduino-light Rocket事务流程&源码分析 Rocket解决分布式事务流程 事务消息分 2 个阶段&#xff1a; ① 正常事务消息的发送与提交&#xff1a; a.发送消息(half 消息) b.服务响应消息写入结果 c.根据发送结果执行本地事务(如果写入失败&#xff0c;此时half消…

Midjourney使用教程:三 图片风格提示

这里我根据现在的官方文档来继续我们的Midjourney的教程&#xff0c;看到这里如果你去实践的话&#xff0c;估计你已经有了好多张属于自己的图片。 这时候你不在满足简单的提示生成的Midjourney的默认风格图片&#xff0c;实际上你可以通过一些关键词做提示&#xff0c;来改变…

初始网络原理

目录 网络发展史 独立模式 网络互连 局域网LAN 广域网WAN 网络通信基础 IP地址 端口号 认识协议 五元组 协议分层 OSI七层模型 TCP/IP五层&#xff08;或四层&#xff09; 网络设备所在分层 封装和分用 网络发展史 独立模式 独立模式&#xff1a;计算机之间相互…

第八十三天学习记录:计算机硬件技术基础:汇编语言程序设计

一、汇编语言指令 汇编语言的语句是在指令系统的基础上形成的&#xff0c;按其作用与编译情况分为两大类&#xff1a;指令性语句&#xff08;符号指令&#xff09;和指示性语句&#xff08;伪指令&#xff09;。 指令性语句是可执行语句&#xff0c;与机器指令相对应&#xff…

USB转换方案介绍

随着科技的不断发展&#xff0c;我们的生活中出现了越来越多的电子设备。然而&#xff0c;这些设备通常具有不同的连接端口和协议&#xff0c;这可能会使它们之间的连接变得困难。这时候&#xff0c;使用USB转换就成为了一种非常方便和实用的解决方法。 无论是在家庭、办公室还…