工具链和其他-超级好用的web调试工具whistle

目录

whistle介绍

整体结构

能力

规则

6个使用场景示例

1.修改Host

2.代理

 3.替换文件(线上报错时)

4.替换UA

5.远程调试

6.JS注入

互动


whistle介绍

整体结构

安装: npm install whistle -g

cli:whistle help

启动:whistle start

能力

√http代理/反向代理

√捕捉(请求头,返回头)/重放(历史记录管理能力)/组合请求(http/https/websocket/tcp)

√基于模式匹配:hosts/文件替换/请求返回调试

√移动端远程调试

资料推荐:http://wproxy.org/whistle/

规则

访问如 baidu.com 就会跳到www.qq.com

6个使用场景示例

1.修改Host

Rules:

www.dev.com http://127.0.0.1:3000
// 正则形式
/.*dev.com(.*)/ http://127.0.0.1:3000$1

2.代理


# // 正则形式 '# 注释'
# www.dev.com proxy://www.baidu.com
// 正向代理:透过代理服务器连的其他网站
// proxy://127.0.0.1:2333这是一个上网的代理,访问网络代理服务器;
// 所有访问www.dev.com的请求,
// 通过127.0.0.1:2333网址转发到www.dev.com上
www.dev.com proxy://127.0.0.1:2333 

// # 反向代理 :透过代理服务器连的是本地的服务,或者是说指向内部的
www.dev.com/api http://127.0.0.1:3000 
// 跨域转发代理
www.dev.com/api http://test.xxx.com 
www.dev.com/api/order -> http://test.xxx.com/order

 3.替换文件(线上报错时)

// 我希望访问require.js做个文件时,替换为本地文件
www.dev.com/require.js D:\dev\course-prepare\network\src\lib\add.js

Rules规则,上面的规则更重要

4.替换UA

很多网站通过不同的UA给用户返回内容

// baidu网址是https要安https证书
www.baidu.com ua://{i-ua}
// {i-ua}这个值在Value自己配

5.远程调试

1.点https,手机扫那个二维码,在手机上安装个根证书,不同手机安法不同

2.配置Rules

www.baidu.com weinre://BaiD

3.点Weinre,会出现刚刚设置的BaiD,点进去

4.手机设置代理,点击到whistle的代理电脑 的ipconfig 如192.168.3.66:8899

6.JS注入

# www.baidu.com jsAppend://https://cdnjs.cloudflare.com/ajax/libs/vConsole/3.3.4/vconsole.min.js
sina.cn jsAppend://{vconsole.js}
// {vconsole.js} 在Value中配置

 

互动

思考:文本接口带来了哪些附加价值?

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

算法之时间复杂度---数据结构

目录 前言: 1.时间复杂度 1.1时间复杂度的理解 1.2规模与基本操作执行次数 1.3大O渐进表示法 1.4计算基本操作的次数 2.常见的时间复杂度及其优劣比较 ❤博主CSDN:啊苏要学习 ▶专栏分类:数据结构◀ 学习数据结构是一件有趣的事情&…

什么是Web1.0时代、Web2.0时代、Web3.0时代?

什么是Web1.0时代、Web2.0时代、Web3.0时代? 互联网的起源。1969年美国的阿帕网的出现标志着互联网的诞生,而1973年第一台个人电脑The Xerox Alto的出现就预示了互联网将蓬勃生长,随之而来的就是我们迈入了信息时代。短短几十年的发展&#x…

浏览器缓存策略:强缓存和协商缓存

浏览器缓存:其实就是在本地使用的计算机中开辟一个内存区,同时也开辟一个硬盘区,作为数据传输的缓冲区,然后利用这个缓冲区来暂时保护用户以前访问的信息通常浏览器的缓存策略分为两种:强缓存和协商缓存,强…

零基础学java——【基础语法】基本输入、输出语句,变量,运算符

目录 变量 数据类型 基本数据类型一览表 声明和初始化 基本的输出、输出语句 输出语句 补充“”的使用 输入语句Scanner 使用步骤 代码演示 运算符 有些内容可能会与c语言作比较 内容借鉴了韩顺平老师的java课堂笔记(b站课) 变量 数据类型 基本…

CKA证书题库-总结

CKA真题(考题总结) 文章目录 CKA真题(考题总结)证书个人考试总结申诉结果 CKA题目参考博主重点介绍 CKA模拟题库 注意事项考试概要考试注意事项: CKA题目答案设置自动补全方法一方法二 第⼀题:权限控制RBAC…

【4. ROS的主要通讯方式:Topic话题与Message消息】

【4. ROS的主要通讯方式:Topic话题与Message消息】 1. 前言1.1 王者解释结点通讯:1.2 通讯小结 2. 灵活的Topic话题图解2.1 话题注意细节2.2 外延补充 3. Message消息图解3.1 消息类型3.2 查看标准消息类型std_msgs 4. 使用C实现Publisher发布者4.1 发布…

Sametime 12.0.1 FP1发布以及Notes中的SwiftFile使用

大家好,才是真的好。 上周,HCL推出了Sametime 12.0.1FP1FP1更新包程序,包含不少新功能以及很多修复程序。虽然Sametime组件现在不需要运行在Domino服务器上,但毕竟Sametime通常会使用Domino目录或Domino中的LDAP目录服务&#xf…

Maven 如何下载依赖包的源码包

使用Maven下载依赖包的时候, 默认是不会下载源码包的,但是有时候, 需要Debug代码,或是看看依赖项的源码的写法, 就需要下载源码包了。 这里以 Apache 的 commons-text 为例, 在Maven中添加如下依赖配置&am…

HCIA-RS实验-ENSP设备的基础配置

本文主要简单地介绍ENSP设备的基础配置,帮助读者快速上手使用ENSP。可以掌握一些基础的配置方案,更改名称,系统时间,系统地区、密码登录等信息 以下是该文章的拓扑图;现将这2台设备启动;后续双击即可进入命…

Openswan安装和简单配置

Openswan安装和简单配置 安装环境: 操作系统:Ubuntu20.0.4TLS 用户权限:root下载Openswan: wget https://github.com/xelerance/Openswan/archive/refs/tags/v3.0.0.zip安装Openswan: 解压Openswan:(PS&#xff1a…

Arduino学习笔记4

一.声控灯实验 1.源代码 int led2;//定义板子上数字2口控制小灯 int flag0;//定义一个变量记录小灯是亮起还是熄灭 int shengyin3;//定义声音传感器的控制口void setup() {pinMode(led,OUTPUT);//定义小灯为输出模式pinMode(shengyin,INPUT);//定义声音控制口为输入模式 } vo…

基于天牛须(BAS)与NSGA-Ⅱ混合算法的交直流混合微电网多场景多目标优化调度(Matlab代码实现)

💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥 🏆 博主优势: 🌞 🌞 🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 …

SentiBank Dector上手指南

​ 官网链接:https://www.ee.columbia.edu/ln/dvmm/vso/download/sentibank.html SentiBank Detector可以抽取图片中的形容词-名词对,之前一直看到,这次复现模型才第一次用到,上手的时候有点手足无措,因为官网在如何使…

Python入门教程+项目实战-11.4节: 元组与列表的区别

目录 11.4.1 元组与列表的区别 11.4.2 可变数据类型 11.4.3 元组与列表的区别 11.4.4 知识要点 11.4.5 系统学习python 11.4.1 不可变数据类型 不可变数据类型是指不可以对该数据类型进行修改,即只读的数据类型。迄今为止学过的不可变数据类型有字符串&#x…

我做了个GPT3键盘,用了两个月发现它有点傻

自 ChatGPT 出世,各类文本类AI产品层出不穷。甚至接连几日,Producthunt 上新品过半都是AI相关。 这其中部分原因是 OpenAI 公司开放的 GPT3 1API 接口十分易用。只要一个简单的文本请求,就能将现有产品加入AI功能。例如,Notion、…

提取文本的摘要snownlp模块

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 提取文本的摘要 snownlp模块 [太阳]选择题 关于以下python代码说法错误的一项是? from snownlp import SnowNLP myText """ChatGPT的出现标志着人类科技发…

【flask】三种路由和各自的比较配置文件所有的字母必须大写if __name__的作用核心对象循环引用的几种解决方式--难Flask的经典错误上下文管理器

三种路由 方法1:装饰器 python C#, java 都可以用这种方式 from flask import Flask app Flask(__name__)app.route(/hello) def hello():return Hello world!app.run(debugTrue)方法2: 注册路由 php python from flask import Flask app Flask(__name__)//app…

【JavaWeb】jQuery(上)

本章内容 1.jQuery Hello world 2.jQuery 选择器 3.jQuery 过滤器 4.jQuery 元素筛选 1、jQuery 介绍 什么是 jQuery ? jQuery,顾名思义,也就是 JavaScript 和查询(Query),它就是辅助 JavaScript 开发的 js 类…

Linux 文件内容相关命令使用汇总

Linux操作系统有很多强大的文件内容相关命令,这些命令可以让您查看、分析和编辑文件。其中,最基本和常用的命令包括cat、more、less和head/tail等。除了这些基本命令之外,grep和find命令也是文件搜索和过滤方面的有力工具。 前言 我们这篇主…

根据 vue-grid-layout 动态设置Echarts尺寸大小

文章目录 前言一、vue-grid-layout 是什么?二、正文1.引入vue-grid-layout2.myEcharts组件3. Utils中的debounce防抖函数 总结 前言 此文背景是根据 vue-grid-layout 动态拖拽组件大小里面包含 Echarts 组件情景,也可以单独把监听动态设置Echarts 尺寸抽…