一个好玩的浏览器插件

背景

最近抽空开发了一个有意思的浏览器插件。背景是我们在开发过程中有时需要做一些测试验证,需要修改请求头字段和响应头字段的内容,有时需要在页面做测试,反复请求同一个接口,并修改一些字段。
如果此时使用nginx做代理转发再修改的话,那就比较麻烦,还需要在本地配置一个nginx服务,所以就抽时间开发了一个浏览器插件,只需要安装好这个插件,按需将需要修改的请求地址和修改的请求头/响应头配置之后就可以了。

代理请求头

可以在插件请求头面板中点击新增按钮,然后再弹出的弹框中输入期望代理的URL规则。
在这里插入图片描述
比如这里以京东首页为例,新增了一条规则在发出getInfo请求的时候增加一个请求头的字段x-header-token对应的值为x-header-token。配置好之后保存规则
在这里插入图片描述
之后在规则列表中点击使用规则,此时该规则已近生效,我们可以看到后续浏览器发出xxx/getInfo请求时都会额外携带一个请求头的字段x-header-token: x-header-value:
在这里插入图片描述
除了新增请求头之外也可以按需设置规则,进行请求的阻断,请求头的替换和请求头的删除,比如我们需要测一下是否支持br压缩的话,可以将Accept-Encoding设置为br。然后再看压缩效果。
再比如我自己遇到的一个场景,代理调用某些服务的时候,网关对请求的Origin进行了校验,这样在开发的时候本地启动的127.0.0.1就会被拦截,此时只需要配置一下修改的规则,就可以把Origin给修改成自己想要的地址,就可以正常使用代理进行开发工作了

代理响应头

和代理请求头一样,也可以按照自己的需要去代理一些响应头,比如某些时候调用某些接口,我们期望返回一些额外的响应头信息帮助前端做一些验证。那就可以在代理响应头面板中进行设置。
比如下面,我们可以按照这样设置增加一个响应头规则。
在这里插入图片描述
同样配置好规则之后,在规则列表中开启这个规则。后面浏览器中接受到的这个接口的响应都会增加一个x-header-response: x-header-response-value的字段:
在这里插入图片描述

域名代理

这个功能可以帮我们配置域名的转发,一个很常用的场景就是线上的某些配置文件是从CDN的生产环境获取的(或者其他的一个资源服务),此时需要从测试环境获取这个配置文件来帮我们快速的做一些验证或者测试的话,那我们就可以使用这个代理,将原本请求A服务的资源重定向到B服务。

发送请求

这个功能可以让我们在页面发送某些指定的请求来方便我们做一些观察或者实验,有时我们可能会使用浏览器的XHR重放请求,但此时请求所携带的Cookie是页面中的,这个插件牛逼的地方就是可以在同源下去发送这个请求,并且这个请求的Cookie是可以自定义的。比如下面这个请求,页面原本有自己的Cookie,但此时发送的这个请求的Cookie被我们设置的my-cookie覆盖了,其他接口没有影响,还是使用页面原本的Cookie这样在一些场景中可以帮我们做一些快速验证和测试。
在这里插入图片描述

上面的四种规则可以配置之后同时使用应用到符合条件的请求中

安装地址

Chrome应用商店

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习——自然语言处理(NLP)一

机器学习——自然语言处理(NLP)一 文章目录 前言一、TF-IDF算法1.1. 原理1.2. 算法步骤:1.2.1. 文本预处理1.2.2. 构建词袋模型1.2.3. 计算TF-IDF值1.2.4. 特征选择 1.3. 代码实现1.3.1. TF-IDF1.3.2 计数器向量化文本1.3.3. 两者的区别1.3.4…

stm32---基本定时器(TIM6,TIM7)

STM32F1的定时器非常多,由两个基本定时器(TIM6,TIM7)、4个通用定时器(TIM2-TIM5)和两个高级定时器(TIM1,TIM8)组成。基本定时器的功能最为简单&am…

嵌入式Linux驱动开发(同步与互斥专题)(一)

一、内联汇编 1.1、语法 内联汇编实现加法 1.2、同步互斥失败的例子 进程A在读出valid时发现它是1,减1后为0,这时if不成立;但是修改后的值尚未写回内存;假设这时被程序B抢占,程序B读出valid仍为1,减1后为…

Newman+Jenkins实现接口自动化测试

一、是什么Newman Newman就是纽曼手机这个经典牌子,哈哈,开玩笑啦。。。别当真,简单地说Newman就是命令行版的Postman,查看官网地址。 Newman可以使用Postman导出的collection文件直接在命令行运行,把Postman界面化运…

tkinter树形图组件

文章目录 初步回调函数绑定滚动条 初步 Treeview是ttk中的树形表组件,功能十分强大,非常适用于系统路径的表达。为了知道属性图到底是什么,下面先做个最简单的树形图 其代码如下 import tkinter as tk from tkinter import ttkdct {"…

【Proteus仿真】【STM32单片机】安全驾驶检测系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 系统运行后,LCD1602显示传感器检测的酒精浓度和CO2值,以及阈值;若按下K3键进入阈值设置模式,默认以酒精阈值开始位置闪烁;再次按下K3键则进入CO…

无涯教程-JavaScript - NPV函数

描述 NPV函数通过使用折现率以及一系列未来付款(负值)和收入(正值)来计算投资的净现值。 语法 NPV (rate,value1,[value2],...)争论 Argument描述Required/OptionalRateThe rate of discount over the length of one period.RequiredValue11 to 254 arguments representing…

UDP的可靠性传输

UDP系列文章目录 第一章 UDP的可靠性传输-理论篇(一) 第二章 UDP的可靠性传输-理论篇(二) 文章目录 UDP系列文章目录前言1.TCP 和UDP格式对比2.UDP分片原理3.UDP 传输层应该注意问题4.MTU5.UDP 分片机制设计重点 一、ARQ协议什么…

2023年中国电影行业研究报告

第一章 行业概况 1.1 定义 电影行业是一门涉及电影制作、发行、放映和推广的综合艺术和商业活动。它结合了戏剧、音乐、舞蹈、绘画等多种艺术形式,通过视觉和听觉的方式向观众展示故事和情感。 电影不仅仅是一门艺术,更是一项复杂的商业运作。它涵盖了…

docker 生成镜像的几个问题

docker 生成镜像的几个问题 根据jdk8.tar.gz 打包Jdk8 镜像失败运行镜像报错差不多是网络ip错误,在网上说重启docker即可解决运行mysql5.7.25 镜像失败向daemon.json文件添加内容导致docker重启失败docker run 命令常用参数根据jdk8.tar.gz 打包Jdk8 镜像失败 首选做准备工作…

Go基础16-defer的运作机制及常见用法

defer的运作离不开函数,这至少有两层含义: ● 在Go中,只有在函数和方法内部才能使用defer; ● defer关键字后面只能接函数或方法,这些函数被称为deferred函数。defer将它们注册到其所在goroutine用于存放deferred函数…

时序分解 | MATLAB实现RIME-VMD霜冰优化算法优化VMD变分模态分解信号分量可视化

时序分解 | MATLAB实现RIME-VMD霜冰优化算法优化VMD变分模态分解信号分量可视化 目录 时序分解 | MATLAB实现RIME-VMD霜冰优化算法优化VMD变分模态分解信号分量可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 RIME-VMD【23年新算法】霜冰优化算法优化VMD变分模态分…