经过几年和前端调接口,我把抓包调试摸透了,浏览器岂非我对手

2023-11-15

场景:我们在和前端对接接口的时候,前端都是根据后端提供的接口api,swagger地址或者yapi,其他接口管理平台进行接口联调,mock一些测试数据调试,调好了然后在本地和后端联调接口,没有问题后再发测试环境,测试环境再发预发布,预发布通过在上生产环境,正常大公司的流程多一点,多一些环境,但是流程调试的环节避免不了,但是调试难免会出现问题,和拉皮扯筋的事情。

1,页面抓取这里就演示淘宝网页的订单查询接口。

(因为这里我篡改过商品发布的接口修改外链接,但是实际是不成功的,成功了就奇怪了)

登录淘宝网页,查询购买的订单信息 

newwork代表网络请求,下面的接口请求包括前端的样式静态文件,但是像页面提交表单的方式一般都是用php的方式,正常都走接口,这种接口需要通过抓包工具抓取接口请求参数,如果是接口加了签名的这种你是请求是不通的。 

 我们只需要关注请求接口的请求参数,请求头,请求体就可以:

还需要观察 接口是否需要验证方式

 

 只需要抓取请求的参数去访问就行。

 这里使用finder抓包工具;

请求地址:https://buyertrade.taobao.com/trade/itemlist/asyncBought.htm?action=itemlist/BoughtQueryAction&event_submit_do_query=1&_input_charset=utf8 

 我们看淘宝的接口的请求头参数:

 查看是否需要请求验证:

 查看详细请求体:

 下面是返回的响应体:

 我们直接通过finder进行请求测试:

 

 

查看接口返回的信息: 

 

 

有了这个参数请求我们也可以通过postman去请求接口把抓取的参数去post测试。

 我们可以看到我们接口是200但是返回的是html信息,这种是有限制的,限制了接口的域名访问,

重定向了这种就是,这种方式需要获取到真实的ip地址请求接口才能访问到接口的数据。这就是为啥要使用抓包工具的原因。

对与接口调试我只需要吧请求的参数,请求体,请求头复制到postman测试即可但是对于加了签名的接口你是没有办法直接调用通过的。

 

类似这样的签名和时间戳 。

那么对于浏览器的使用,那就更容易了前端的样式和js如何调试只需要打开

我们动态修改样式即可进行调试。

我们可以通过source的方式去调试js,查询js执行watch的参数信息,但是你需要找到具体执行的函数方法,点击事件,随着前端的更新迭代,现在的点击事件方法基本绑定在html标签上面,很难找到触发的地方,并且js采用压缩混淆算法,js压缩后很难去找到具体代码,而且通过代码不显示到浏览器网页上面,很多处理直接通过后台接口处理,前端不写逻辑,所以你需要花时间去找前端的js。 

 

 

 ————没有与生俱来的天赋,都是后天的努力拼搏(我是小杨,谢谢你的关注和支持)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

经过几年和前端调接口,我把抓包调试摸透了,浏览器岂非我对手 的相关文章

  • 在 Java 中有效地对图像进行颜色循环

    我正在编写一个曼德尔布罗分形查看器 我想以智能的方式实现颜色循环 给定一个图像 我想修改它的 IndexColorModel 据我所知 没有办法修改 IndexColorModel 也没有办法为图像提供新的 IndexColorModel
  • 如何检查 Java 中的间隔列表 (Joda-Time) 是否完全覆盖一个月

    我在用着乔达时间 http www joda org joda time Java 中用于跟踪时间列表的库间隔 http www joda org joda time key interval html 我想检查是否有一个列表Interva
  • Java简单加密

    我想加密存储在磁盘上的文本 配置 文件 尝试使用DES http en wikipedia org wiki Data Encryption Standard加密 我在客户端计算机上遇到了致命错误 后来我发现该算法无法处理重音字符 我怀疑这
  • 为什么在使用 repaint() 而不是使用 getParent().repaint() 时会出现此 Swing 错误?

    这个问题是基于我不久前在一个简单的 Swing 骰子程序中遇到的问题 我发布的原始问题是here https stackoverflow com questions 22306637 mystery concurrency componen
  • 使用 CXF 通过 HTTP 基本身份验证使用 Web 服务时出现 401 错误

    我正在尝试在 JUnit 测试中使用使用 HTTP 基本身份验证 使用 Apache CXF 的远程 Web 服务 我收到的错误是 javax xml ws WebServiceException Failed to access the
  • 逐行读取 JTextPane

    有没有办法读取a的内容JTextPane逐行 很像 BufferedReader 吗 Element root textPane getDocument getDefaultRootElement 获得根元素后 您可以检查存在多少个子元素
  • java模拟自定义对象

    public class MainClass public void makeCall CustomObject obj new CustomObject obj testMethod 我想进行单元测试makeCall 所以我必须嘲笑Cus
  • 带有 @Scheduled Spring 注释的方法的切入点

    我想要一个带有注释的方法的 AspectJ 切入点 Scheduled 尝试了不同的方法但没有任何效果 1 Pointcut execution org springframework scheduling annotation Sched
  • 读取 Nashorn JO4 和 NativeArray

    Java调用代码 import jdk nashorn api scripting myCustomHashMap dataStore new myCustomHashMap ScriptEngineManager sem new Scri
  • 从另一个类添加 Swing 组件

    我正在学习java 我正在尝试从另一个类向我的框架添加一个菜单栏 练习将代码划分为多个类以更好地组织程序 这是我的代码示例 public class MainApp public static void main String args C
  • Android 上的自定义视图和窗口属性

    我想要做的是在我的应用程序顶部添加一个视图 该视图类似于过滤器视图 我想操纵屏幕的颜色 并且我还希望能够同时更改屏幕的亮度时间 这两件事似乎是分开起作用的 但不能一起起作用 这是我的代码 添加视图 colourView new Layer
  • 酷还是傻? Catch(异常[NamingException, CreateException] e)

    我正在编写一些代码 我注意到异常处理中的一种模式让我思考 try do stuff throws JMS Create and NamingException catch NamingException e log1 e rollback
  • 更改 Spring Web 应用程序的默认会话超时

    我必须测试一个由 spring 和 jsp 编写的 Web 应用程序 应用程序的默认会话超时为 30 分钟 我想减少会话超时 为此 我改变了web xml文件输入tomcatInstallationLocation conf 但这不起作用
  • 如何在Android中使用资源

    一个人如何使用资产 我有这个代码 AssetManager assets getAssets InputStream stream assets open test txt 看起来它只能在 Activity 类中使 用 如果我尝试在另一个类
  • JSF“总”变量类似于 JSTL 中的 c:set

    我不喜欢 JSF 但我需要用它来解决这个问题 我正在 纯 JSF 中工作 所以这就是我基本上需要的 但我不知道如何用 JSF 来实现它
  • System.out.println("嗨"+6+10);打印Hi610?

    为什么要这样做 太令人困惑了 运算符优先级和结合性 两点 操作员 如果一个或两个参数都是字符串 则进行字符串连接 操作员 从左到右工作 所以在你的例子中 Hi 6 is Hi6 and Hi6 10 is Hi610 编辑 正如您在对另一个
  • 需要同步仅增量计数器吗?

    我使用整数作为计数器 该整数只会增加 并且肯定有多个线程会同时增加它 当没有其他线程尝试访问其值时 在程序执行结束时读取该计数器的值 我假设我不必为这种仅增量计数器使用锁或任何类型的同步 这是正确的吗 如果这有什么区别的话 我用 Java
  • 使用 Spring Batch 将文件中的日期解析为 LocalDateTime

    我正在尝试使用 Spring Batch 读取包含日期的 CSV 文件 但在将日期解析为LocalDateTime Object 字段 日期 上的对象 目标 中的字段错误 拒绝值 2017 07 20 04 15 25 0 代码 typeM
  • Java:如何检测(并更改?)System.console 的编码?

    我有一个在控制台上运行的程序 其变音符号和其他特殊字符在 Mac 上以 的形式输出 这是一个简单的测试程序 public static void main String args System out println h h System
  • 是什么让热部署成为“难题”?

    在工作中 我们经常遇到这样的问题 永久代内存不足 http www jroller com agileanswers entry preventing java s java lang例外 团队负责人认为这是 JVM 中的一个错误 与代码的

随机推荐

  • 智慧“昆明”在路上 未来充满精彩

    智慧城市是运用物联网 云计算 大数据 移动互联网 空间地理信息集成等新一代信息技术 促进城市规划 建设 管理和服务智慧化的新理念和新模式 近年来 昆明市全面加快智慧城市建设 力争通过三年的努力 打造区域信息辐射中心的核心区 生态 融合发展的
  • Spring Boot系列四 Spring @Value 属性注入使用总结一

    Value注入 不通过配置文件的注入属性的情况 通过 Value将外部的值动态注入到Bean中 使用的情况有 注入普通字符串 注入操作系统属性 注入表达式结果 注入其他Bean属性 注入beanInject对象的属性another 注入文件
  • C语言if选择练习题

    C语言实现输出对应成绩的等级 include
  • hdu 5756:Boss Bo

    题目链接如下 Problem 5756 先用dfs确定每个节点的序号编号 并且可以获得每个节点可以包括的子树节点区间范围 再用线段树建立一棵树 在第一次建立的时候我们记录每个节点的深度 然后再进行一次dfs 这次dfs用来更新以不同节点为根
  • 【实验九】【使用触发器实现数据完整性】

    文章目录 触发器 一 实现域完整性 二 实现参照完整性 三 比较约束与触发器的执行顺序 Reference 触发器 触发器 trigger 是用户定义在关系表上的一类由事件驱动的特殊过程 触发器又叫做事件 条件 动作 event condi
  • ThinkPHP6.0 多应用模式 部署 Layuiadmin 单页版

    QQ 23426945 PHP技术群 159789818 个人技术博客 https www itqaq com TP6 0中的路由省略应用名只能用入口文件绑定应用 和 域名绑定应用 经过测试 最后得出域名绑定应用是最合适的部署方式 如果有更
  • React源码分析3-render阶段(穿插scheduler和reconciler)

    本章将讲解 react 的核心阶段之一 render阶段 我们将探究以下部分内容的源码 更新任务的触发 更新任务的创建 reconciler 过程同步和异步遍历及执行任务 scheduler 是如何实现帧空闲时间调度任务以及中断任务的 触发
  • SpringBoot 如何实现多数据源

    SpringBoot 如何实现多数据源 第一步 配置yml spring datasource type com alibaba druid pool DruidDataSource datasource1 url jdbc mysql 1
  • vue毕业设计分享 100例 (五)

    文章目录 前言 题目1 基于SSM的婚纱摄影业务系统 br 题目2 基于SSM的家教网课学习平台 br 题目3 基于SSM的家庭美食食谱管理系统 br 题目4 基于SSM的驾校预约培训管理系统 br 题目5 基于SSM的教师评价考核管理系统
  • 远程登陆之SSH的简单用法及命令

    SSH简单使用 SSH的安装 启动服务器的SSH服务 SSH远程登陆 口令登陆 公钥登陆 配置别名 传输文件 SSH只是一种协议 存在多种实现 既有商业实现 也有开源实现 OpenSSH是一种免费开源实现 OpenSSH是用于使用SSH协议
  • zabbix监控硬件

    一 通过snmp监控 1 idrac上开启snmp服务 2 然后到zabbix server服务器上测试一下是否能get到数据 snmpget v 2c c 1 3 6 1 4 1 674 10892 2 1 1 2 0 3 添加主机 二
  • rabbitmq的发布确认和事务

    2019独角兽企业重金招聘Python工程师标准 gt gt gt confirm的工作机制 Confirms是增加的一个确认机制的类 继承自标准的AMQP 这个类只包含了两个方法 confirm select和confirm select
  • 读取dgn文件思路

    1 opendgn 2 sourceforge里面有dgn读取内容 3 dgndirect 4 DGNLib 5 Teigha 6 lt
  • ERROR: cannot launch node of type [turtlebot_teleop/turtlebot_teleop_key] 问题解决

    当遇到问题 采取方式为 也就是说先用 rospack find 命令找是否存在 不存在就安装 sudo apt get install ros kinetic XXX 从网上查需要安装哪些内容 转载于 https www cnblogs c
  • 使用U盘为虚拟机安装系统

    转载自点击打开链接http www cnblogs com happy xiaoxiao p 8010547 html 前提 使用虚拟机安装WIN8系统时 由于WIN8镜像文件大于4G无法使用虚拟安装 所以使用U盘安装 1 装有U盘启动的W
  • 点云高度归一化处理(附 matlab 代码)

    由于不同地物之间存在着高程的差异 为了去除地形起伏对点云数据高程值的影响 所以需要根据提取出的地面点进行点云归一化处理 这一步是很多算法的基础 可以提高后续点云分类或分割的准确度等 如下图所示 归一化的过程其实相对简单 遍历每一个非地面点
  • Simon‘s writting 全网最全笔记

    石墨文档写完上传的 格式有点乱 凑合着看 排班不重要 内容最重要 一键三连的朋友可以私信我要word pdf 图片 markdown 那个看得舒服看哪个 An IELTS training course Understand the tas
  • Visual Studio下安装C/C++图形库(easyx)2022版

    一 Easyx下载链接 EasyX Graphics Library for C 二 Visual Studio上安装Easyx 1 右击EasyX 20220901 exe 选择管理员身份运行 2 点击下一步 3 它会自动检测 根据自己需
  • python3 新式邮件写法 附件乱码 解决

    import sys import re import mimetypes import base64 import traceback from pathlib import PurePath from datetime import d
  • 经过几年和前端调接口,我把抓包调试摸透了,浏览器岂非我对手

    场景 我们在和前端对接接口的时候 前端都是根据后端提供的接口api swagger地址或者yapi 其他接口管理平台进行接口联调 mock一些测试数据调试 调好了然后在本地和后端联调接口 没有问题后再发测试环境 测试环境再发预发布 预发布通