前言
最近测试和实施经常在UAT环境调试出故障让我看,因为环境不一样调试起来比较麻烦。因此使用fiddler将线上地址重定向到本地开发地址。再加上目前项目上是前后端分离,在进行一些流程上。开发起来自测比较麻烦
介绍
fiddler是Fiddler(中文名称:小提琴)是一个HTTP的调试代理,以代理服务器的方式,监听系统的Http网络数据流动,Fiddler可以也可以让你检查所有的HTTP通讯,设置断点,以及Fiddle所有的“进出”的数据(我一般用来抓包),Fiddler还包含一个简单却功能强大的基于JScript .NET事件脚本子系统,它可以支持众多的HTTP调试任务
使用
- 创建一个拦截器,设置拦截规则,只拦截对应的域名hosts
- 创建重定向规则,将对应模块转发到本地的域名。如图所示
问题
1.其实就是实现了反向代理的功能,但是需要考虑跨域问题。可以使用下面代码来解决跨域
@Configuration
//@EnableWebMvc
public class MemberCorsConfiguration implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
//设置允许跨域的路径
registry.addMapping("/**")
//设置允许跨域请求的域名
.allowedOrigins("*")
//是否允许证书 不再默认开启
.allowCredentials(true)
//设置允许的方法
.allowedMethods("*")
//跨域允许时间
.maxAge(3600);
}
}
- 因为使用公司的VPN,fiddler经常会报
The system proxy was changed,click to reenable fiddler capture
解决:
进入到Fiddler–>Rules–>Customize Rules
static function DoReattach(o: Object, ea: EventArgs)
{
ScheduledTasks.ScheduleWork("reattach", 1000, innerReattach);
}
static function innerReattach()
{
FiddlerApplication.UI.actAttachProxy();
}
static function OnRetire()
{
FiddlerApplication.oProxy.remove_DetachedUnexpectedly(DoReattach);
}
在main()方法中添加
FiddlerApplication.oProxy.add_DetachedUnexpectedly(DoReattach);
评论区