百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

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

liuian 2024-12-03 16:32 23 浏览

场景:我们在和前端对接接口的时候,前端都是根据后端提供的接口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。



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

?

相关推荐

使用Assembly打包和部署Spring Boot工程

SpringBoot项目的2种部署方式目前来说,SpringBoot项目有如下2种常见的部署方式一种是使用docker容器去部署。将SpringBoot的应用构建成一个docke...

java高级用法之:调用本地方法的利器JNA

简介JAVA是可以调用本地方法的,官方提供的调用方式叫做JNI,全称叫做javanativeinterface。要想使用JNI,我们需要在JAVA代码中定义native方法,然后通过javah命令...

Linux中如何通过Shell脚本来控制Spring Boot的Jar包启停服务?

SpringBoot项目在为开发者带来方便的同时,也带来了一个新的问题就是Jar包如何启动?在一般情况下我们都是采用了最为经典的java-jar命令来进行启动。然后通过ps命令找到对应的应用线程通...

牛逼!自己手写一个热加载(人民币手写符号一个横还是两个横)

热加载:在不停止程序运行的情况下,对类(对象)的动态替换JavaClassLoader简述Java中的类从被加载到内存中到卸载出内存为止,一共经历了七个阶段:加载、验证、准备、解析、初始化、使用、...

java 错误: 找不到或无法加载主类?看看怎么解决吧!

问题扫述:项目名称调整,由原来的com.mp.qms.report.biz调整为com.mp.busicen.mec.qms.report.biz后。项目在IDEA直接运行,但打包部署到服务器...

如何将 Spring Boot 工程打包成独立的可执行 JAR 包

导语:通过将SpringBoot项目打包成独立的可执行JAR包,可以方便地在任何支持Java环境的机器上运行项目。本文将详细介绍如何通过Maven构建插件将SpringBoot...

class 增量发包改造为 jar 包方式发布

大纲class增量发包介绍项目目录结构介绍jar包方式发布落地方案class增量发包介绍当前项目的迭代修复都是通过class增量包来发版本的将改动的代码class增量打包,如下图cla...

Jar启动和IDE里启动Sprintboot的区别

想聊明白这个问题,需要补充一些前提条件,比如Fatjar、类加载机制等1、Fatjar我们在开发业务程序的时候,经常需要引用第三方的jar包,最终程序开发完成之后,通过打包程序,会把自己的代码和三...

Java 20年,以后将往哪儿走?(java还能流行多久)

在今年的Java20周年的庆祝大会中,JavaOne2015的中心议题是“Java的20年”。甲骨文公司Java平台软件开发部的副总裁GeorgesSaab的主题演讲就将关注点放在了java...

Spring Boot Jar 包秒变 Docker 镜像实现多环境部署

你是否在互联网大厂后端开发工作中,遇到过这样的困扰?当完成一个SpringBoot项目开发,准备将Jar包部署到不同环境时,却发现各个环境依赖不同、配置复杂,部署过程繁琐又容易出错,不仅耗费...

从0开始,让你的Spring Boot项目跑在Linux服务器

1搭建Linux服务器1.1购买阿里云服务器或安装虚拟机这里建议是CentOS7.X或CentOS8.X,当然其他的Linux如deepin、Ubuntu也可以,只是软件环境的安装包和安装方式...

【技术】Maven 上传第三方jar包到私服

通过nexus后台上传私服以NexusRepositoryManagerOSS2.14.5-02为例。登录nexus后台。定义Maven坐标Maven坐标有两种方式:1.自定义参数;2....

JVM参数、main方法的args参数使用

一、前言我们知道JVM参数分为自定义参数、JVM系统参数,Javamain方法的参数。今天就谈谈怎么使用吧。二、查看jvm参数定义自定义参数我们打开cmd窗口,输入java,就能看到自定义参数的格式...

Maven项目如何发布jar包到Nexus私服

Maven项目发布jar包到Nexus私服在编码过程中,有些通用的代码模块,有时候我们不想通过复制粘贴来粗暴地复用。因为这样不仅体现不了变化,也不利于统一管理。这里我们使用mavendeploy的方...

干货丨Hadoop安装步骤!详解各目录内容及作用

Hadoop是Apache基金会面向全球开源的产品之一,任何用户都可以从ApacheHadoop官网下载使用。今天,播妞将以编写时较为稳定的Hadoop2.7.4版本为例,详细讲解Hadoop的安...