惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
S
SegmentFault 最新的问题
Jina AI
Jina AI
D
DataBreaches.Net
人人都是产品经理
人人都是产品经理
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
爱范儿
爱范儿
大猫的无限游戏
大猫的无限游戏
C
Check Point Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
B
Blog
博客园 - 【当耐特】
博客园 - Franky
M
MIT News - Artificial intelligence
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
L
LangChain Blog
MyScale Blog
MyScale Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 叶小钗
Last Week in AI
Last Week in AI
Engineering at Meta
Engineering at Meta

博客园 - wgscd

Git 无法访问 GitHub(unable to access ‘https://github.com/.../.git‘)问题解决教程 RapidOcrNet文字识别OCR C#+Audio绘制麦克风波形 一共免费大模型API AI聊天对话界面的HTML代码。 纯JavaScript代码实现保存Canvas图片到电脑 WPF鼠标拖动改变图片透明度 缩放 div 浏览器语音识别-webkitSpeechRecognition HTML获取摄像头画面,拍照截图保存 JS摄像头手势识别-Handsfree.js HTML,JS 模拟聊天界面UI JS获取元素相对窗口的位置和大小 C# 判断是否安装了ffmpeg shadow-root中的元素定位方法 JS MutationObserver监听DOM元素改变 Webview2动态设置页面video的Blob进行播放 C# 文件分割和文件合并 WPF刮刮乐 JS利用浏览器进行语言识别 WPF设置默认语言地区CultureInfo VS2022推送代码 到github错误: CertGetCertificateChain trust error CERT_TRUST_IS_PARTIAL_CHAIN的解决办法 C#正则表达式匹配候选词 使用ffmpeg去除音频静音
Fiddler自定义规则保存图片和提示The system proxy was chang...
wgscd · 2025-11-26 · via 博客园 - wgscd

1、打开Fiddler ,找到 规则(Rules)-> 自定义规则(Customize Rules) 打开 规则代码。

	static function OnDone(oSession: Session) {
		if (oSession.uriContains("https://www.xxx.com/xxxx")==false)
		{
		    	return;
		}
		//检查Content-Type 
		if (oSession.ResponseHeaders["Content-Type"]!=null || oSession.ResponseHeaders["content-type"]!=null)
		{
			//避免不规范标头
			var contentType=oSession.ResponseHeaders["Content-Type"];
			if (String.IsNullOrEmpty(contentType) )
				contentType=oSession.ResponseHeaders["content-type"];
            
			//判定请求是否图片
			if (contentType.Contains("image"))
			{
				//确定文件名(保存用)
				var fileName="";
				var fileIndex =    oSession.RequestHeaders.RequestPath.LastIndexOf ("/");
				if (fileIndex>0)
					fileName =    oSession.RequestHeaders.RequestPath.Substring (fileIndex+1);
                
				//如果文件名非法(名称含非法字符)
				if(fileName.IndexOf('?')>0 || fileName.IndexOf('&') )
					fileName=String.Empty;
				//输出日志(在Fiddler 主窗口,日志处输出)
				//FiddlerObject.log("Content-Type:"+ contentType +" RequestPath:"+oSession.RequestHeaders.RequestPath);
                
				//如果文件名为Null,自行创建一个文件名(Guid)
				if (String.IsNullOrEmpty( fileName))
				{
					fileName=Guid.NewGuid().ToString();
					var extName=    contentType.Replace("image/","");
					fileName=fileName+"."+extName;
				}
                
				//太小的图片不要,比如站位图片(自行调节)
				if (oSession.ResponseBody.Length>100)
				{
					//指定保存位置
					var saveDir="D:\\fiddlerimage\\";
					//不存在则创建文件夹
					if (!System.IO.Directory.Exists(saveDir))
						System.IO.Directory.CreateDirectory(saveDir);
                    
					//保存响应流
					oSession.SaveResponseBody(saveDir+fileName);
					//写日志
					FiddlerObject.log("[文件保存]:"+fileName)
				}
			}
		}
	}
			

Fiddler一直提示The system proxy was changed,click to reenable fiddler capture

解决办法:进入到Fiddler-->Rules-->Customize Rules

1.在main()方法上方添加:

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);
}

2.在main()方法中添加:

FiddlerApplication.oProxy.add_DetachedUnexpectedly(DoReattach);