用Fiddler和JScript捕获网页

实战一次基于Fiddler 进行抓包智能化数据集成与自动化接口交互 下面演示实战效果,后台写了一个api 接口/api/fiddler/collect 这个就是为了接收数据上传,当然你要写其他业务可以自行处理,比如入库,统计,写入持久化es 数据分析统计等都可以。@Slf4j/*** 处理业务数据* @return*/@ApiOperation(value = "数据接收", notes = "数据接收", httpMethod = "POST")//todo 接收数据进行业务处理我们抓的是京东的搜索接口 下面注意看。 阅读详情

用Fiddler和JScript捕获网页

 

因为要写篇分析报告,需要反复从网页里提取数据,因此作了些http和网页捕获方面的研究。下面把过程回顾一下,做个总结、以利于下次工作的提高。

1、开始的时候准备用VB编一个网页自动循环下载软件,所以去下载了VS2008和MSDN。选VB是考虑到能方便地过渡到excel的宏VBA,写数据分析论文不可能不用到excel,没道理画个图、作个统计都要自己编程吧。而且excel本身也具备从网页导入数据的功能,如果可能的话,让办公室里的小妹帮个忙,能省不少功夫!

2、然后又搜索http捕获、分析教程和工具,准备照版煮碗,仿照开发一个。
其中Fidder比较有吸引力,许多人提到它可扩展性很强。

打开Fiddler的网站一看,几个大大的"Building Extensions with C#, VB.NET, Managed C++",用C、VB扩展?!

顿时眼睛一亮,窃喜、相见恨晚。

3、不过还是犯了先入为主的毛病,走了弯路,一根筋的考虑VB,不停的在VS的IDE界面和Fiddler之间来回编译、切换。

后来发现Fiddler是直接支持脚本的,可以用JScript直接写脚本。而且在它的《FiddlerScript CookBook》(大概可以翻译成《随身手册》吧)里有各种情况下的功能扩展举例,很容易上手。

这下方便多了,完全抛开VS、VB,效率大大提高,写完脚本马上运行,哪里用得着编译那么麻烦。

倒是MSDN起了很大作用,我之前完全没学过JScript,好在现在的开发工具之间差异很小,MSDN里每个例子都有不同开发语言的版本,对照看,触类旁通,很容易理解。

Fiddler的功能和使用方法我不介绍了,网上很容易找到,我提供一个链接,一个优快云网友贡献的《Fiddler工具使用说明》。

我用的是Fiddler2.2.2,下面说说我做的功能扩展。

另外我只说说开发时的思路和落脚点,编码就不放上来了。

前者是因为Fiddler的网站和论坛提供的资料太详尽了,大家多半只是不知道该怎么下手,把思路放上来给个启发、避免弯路我想足够了。

后者是因为每个人的需求千差万别,根本不可能简单复制。当然必要的编码我还是会放的。

 

一、准备工作

MSDN之类的开发指引不用说了。

Fiddler如果要调用外部动态链接库,例如.NET,应先通过菜单Tools——Fiddler Options——Extensions——References指示路径。

 

Fiddler功能扩展脚本文件是CustomRules.js,默认路径“我的文档”——Fiddler2——Scripts,可以用文本工具直接编辑。如果通过菜单Rules——Customize Rules(或者Ctrl-R)直接调用Fidder的脚本编辑工具Fiddler ScriptEditor更好,编辑完了保存时会自动重载,立马生效,很方便。

脚本分两大块。

第一块是import,不用多说,申明准备调用的动态链接库。

第二块是class Handlers,处理方法。自定义变量、常数、类型、函数、方法都放在这里,是下一步的主要工作空间。

其中有两个函数:

static function OnBeforeRequest(oSession: Session);

static function OnBeforeResponse(oSession: Session);

刚开始的时候我理解有问题,以为是在用户请求之前、响应给用户之前。我就奇怪了,请求之前?我还没下指示,你知道干什么?等着不就得了。响应之前?既然准备回应了,就是已经收到请求了,那还不赶快照指示做、还要干别的?

想想不对劲,回过头仔细研究《FiddlerScript CookBook》,转念一想会不会是Fiddler请求之前、Fiddler响应之前,用户提交请求、Fiddler截获、Fiddler把请求提交给服务器之前,或者Fiddler收到服务器响应、提交给用户之前。

去Fiddler论坛找版主讨教,果然如此。估计刚接触Fiddler无从下手的朋友多半也会卡在这里。

这下所有关节全部打通,所有要求软件自动完成的功能都可以插在这两个函数里。

 

于是整体设想这样:

1、巡航。

人工操作浏览器在目标网页范围内巡航。

2、标识。

客户/服务器对答增加自定义标识,Fiddler实时监视客户端和服务器之间的对话,把疑似符合既定模式的对话标识出来。

3、触发。

人工精确判断、刷选对话,设置参数、循环变量、转存路径,触发Fiddler提取对话中的请求体,改造、重新编码,再重发服务器。这个功能由鼠标右键触发。

4、循环。

改造Fiddler接收模块,放开浏览器,Fiddler直接分析服务器应答,符合要求的,下载存盘、调用压缩工具,进入下一个循环;或者,超时则重新请求;

上面1、3是用户操作,由用户触发。2、4是软件操作,自动触发。

 

二、自定义对话标识

Fiddler已经给对话定义了很多标识,用户还可以增加自己的标识,详细说明见Fiddler对话标识。

这里又有个难点,Fiddler截获的原始请求和应答都是HTTP编码字符串,用户无法直接识别,必须反向解码、还原成用户可识别字符,方便于其它处理。反过来,如果要把用户请求发给服务器,就要按HTTP规范编回码去。

关于各种编码的理论渊源我也很糊涂,但大体意思应该如下,不对之处请高手指教。

用户编码,用户在浏览器里看到的字符,有不同的编码,例如GB、UTF-8等。

应用协议,软件之间有自己的沟通方式,它们也不能直接处理用户编码,要把用户数据编码成软件之间的数据,才能被它们利用。例如HTTP、FTP协议,有各自编码规则。

然后是网络协议,例如Winsock、TCP/IP。再往下还有网卡驱动程序、机器码等。这些协议我们不用去管它,Fiddler已经把它们解码回HTTP编码了。

编码不光数据转换,还包括压缩、打包,添加必要的标识和指令等。解码则相反。

Fiddler夹在浏览器和网络之间,已经自带了一些编码、解码函数,再结合微软.NET提供的大量编码转换函数,完全可以实现不同协议、编码之间自由、任意转换。

例如我的一段代码,oSession表示Fiddler捕获的一个对话实例:

oSession.utilDecodeRequest();    //请求体解除chunked编码,我推测是转成了二进制流。

var oRBB = Encoding.UTF8.GetString( oSession.requestBodyBytes );  //把解码后的字符串按utf8编码返回。

var sRequestBody = HttpUtility.UrlDecode( oRBB, Encoding.UTF8 );    //按url标准返回字符串。

HTTP传输消息时都要chunked-encoding,什么意思大家自己查吧,我解释不了,我只会盯着变量,跟踪、监控,然后对着样版来。

Encoding.UTF8.GetString是.NET的System.Text里的函数,HttpUtility.UrlDecode是.NET的System.Web里的函数,所以调用前先要在脚本文件CustomRules.js的最前面加上:

import System.Text;

import System.Web;

 

请求体(sRequestBody)包含目标资源路径和参数,据此能判断对话“主题类型”。我做了些正则表达式模版,每个请求和这个模版比较,相符合的,加标识;否则,略过。(JScript的正则表达式有它自己的特点,我准备另外撰文写点体会。)

判断标识是否存在和增加一个标识的函数分别是:

oSession.oFlags.ContainsKey( "用户标识");

oSession.oFlags.Add( "用户标识");

增加了用户标识后,用oSession.RefreshUI()刷新一下,标识就显示出来了。

注意:

1、可以只给符合要求的对话加标识。不符合要求的对话,不光没有标识值,甚至连这个标识都可以没有。

2、增加自定义标识前应判断该标识是否已经存在,否则会引发脚本异常终止。如果存在只需重新赋值。

 

我把“主题类型”识别放在了onBeforeRequest函数里,请求一提交就标识主题。又在onBeforeResponse函数里放置了长度、日期等应答特征的的识别,收到应答就标识出来。

 

三、用户自定义界面

定义了用户标识,形成对话的内在属性,还要把它绑定到屏幕介面、显示出来给用户看到,方法见Fiddler配置列。我比较喜欢使用其中的这种方法:

public static BindUIColumn("HTTPMethod")

function CalcMethodCol(oS: Session){

   if (null != oS.oRequest){

      return oS.oRequest.headers.HTTPMethod; 

   }else{

      return String.Empty; 

   }

}

简单明了,Fiddler刷新的时候就有显示了。

上面例子里if块的{}括号是我加的,Fiddler自己的例子没有用{}括号。我试过不加,但Fiddler不是总能正确识别,不知道为什么。于是干脆都加了。读代码时也省点脑精。

另外鬼子的习惯跟咱们中国人可能真的很不同,Fiddler作判断时都把运算量(常量)放逻辑运算符前面、被运算量(变量)放后面,例如上面if ( null != oS.oRequest ),我全部按自己习惯颠倒过来,没有任何问题。

这段代码和下面鼠标右键菜单都可以放在class Handlers块内任何地方。

 

四、自定义定义鼠标右键菜单

在设想3中,计划用鼠标右键菜单实现人工选择对话,触发Fiddler重新请求网页。《FiddlerScript CookBook》里context-menu样版如下:

public static ContextAction("Open in Firefox")

function DoOpenInIE(oSessions: Fiddler.Session[]){

  if (null == oSessions){

    MessageBox.Show("Please choose at least 1 session."); return;

  }

  for (var x = 0; x < oSessions.Length; x++){

    System.Diagnostics.Process.Start("firefox.exe", oSessions[x].url);

  }

}

我下载的时候还是“Open in IE”,现在已经是火狐狸了,Fiddler没闲着啊!题外话。

右键菜单被激发时,会自动提交当前选择对话作为参数。注意这里还作了参数校验,以防还没有选择对话就调用该函数。

我因为只提取网页里的数据,不关心网页的显示,除了刚开始巡航到目的网页,后面都没必要打开浏览器,所以从这里开始由Fiddler直接请求网页。《FiddlerScript CookBook》里提交请求的方法是这样的:

FiddlerObject.utilIssueRequest(sRequest);

采用这个方法用户要自己组合sRequest串,添加HTTP头,我搞不懂,我从Fiddler论坛找到另一个方法:

FiddlerApplication.oPorxy.InjectCustomRequest(oSession.oRquest.headers, oSession.requestBodyBytes, true, false );

我记得Fiddler版主说过,InjectCustomRequest后两个参数现在没有任何意义,但让我照写。

oSession就用当前选择的对话,headers不变,什么cookie、session之类的,照搬原样。其实这也就是我标识、选择对话的原因,费事去搞headers了。

重发请求可能要调整参数。和前面定义用户标识一样,先解码被选择对话的请求体,随便采用什么方法置换sRequestBody里的参数,然后再重新编码、注入oSession,一鼓作气方法是:

    oSession.utilSetRequestBody( HttpUtility.UrlEncode( sRequestBody, Encoding.UTF8)); 

HTTP请求体中用符号&和=分隔、赋值参数,有特殊含义。但HttpUtility.UrlEncode编码的时候并不知道自己是在给参数编码,一视同仁,结果&和=也被编了码。因此还要把请求体中的&和=置换回来。

with ( oSession ){

   utilReplaceInRequest( '%3d','=');

   utilReplaceInRequest( '%26','&');

 }。

当然这样做存在着把本该作为参数值的&和=也置换回来的风险。好在到目前为止我的工作中还没有出现这种情况,等以后有必要时再考虑吧。

 

五、应答下载

应答存盘之前也要解码,方法是:

oSession.utilDecodeResponse();

然后就可以直接存盘了:

oSession.SaveResponseBody( sFileName );

 

如果要再调用外部软件对下载文件进行处理,例如压缩,方法是:

Utilities.RunExecutableAndWait( sExecute, sParams);

注意sExecute可以包含路径,但某些软件可能不支持带空格的路径,建议强制给路径加上引号。这个方法和上面那个InjectCustomRequest都是Fiddler自带,用VS的对象浏览器打开Fiddler,可以找到这两个方法。

 

 

好了,终于写完了,长长舒口气吧!

还有些东西没写清楚吧,不管了,先放上来接受一下检验,等有了更多的思路、理解再补充吧。

Fiddler进阶:抓取与修改手游WebSocket实时封包实战 WebSocket作为一种在单个TCP连接上进行全双工通信的网络协议,其核心原理在于通过一次HTTP握手建立持久连接,之后客户端与服务器可以随时相互推送数据帧,实现低延迟的双向实时通信。这一技术价值在于彻底解决了HTTP轮询带来的延迟高、资源消耗大的问题,为需要实时数据交换的应用场景提供了高效解决方案,广泛应用于在线游戏、即时通讯、股票行情推送等领域。在移动游戏开发与安全测试中,分析游戏客户端与服务器之间的实时交互数据是理解业务逻辑、进行性能优化和安全评估的关键。Fiddler作为强大的HTTP/HTTPS 阅读详情

相关推荐

Wireshark、Fiddler、tcpdump抓包工具实战指南:从安装配置到高级应用

网络封包分析是理解网络通信、排查故障的核心技术。其原理在于捕获流经网络接口的数据包,并对协议栈进行逐层解码,从而透视数据流动的完整过程。这项技术的价值在于为开发、运维和安全人员提供了客观的数据依据,能有效定位从前端界面到后端服务、乃至底层网络传输的各类问题。在实际应用场景中,针对不同需求需选用不同工具:Wireshark凭借其深度协议解析能力,是进行网络故障根因分析和安全研究的利器;而Fiddler则专注于HTTP/HTTPS调试,通过代理和断点设置极大提升Web开发和API测试效率。掌握这些工具的组合使用

weixin_33980459的博客 464

Fiddler 高级用法:Fiddler Script 与 HTTP 断点调试

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34112208的博客 822

网络抓包工具实战指南:从Wireshark到Fiddler的选型与场景应用

网络抓包是理解数据通信、进行应用调试和性能分析的基础技术。其核心原理是通过拦截流经网卡的数据包,对HTTP、HTTPS、TCP等协议进行解析和展示,使开发者能够透视网络交互的细节。这项技术的价值在于将模糊的网络问题转化为可观测、可度量的数据,是定位接口故障、分析性能瓶颈、学习网络协议的必备技能。在应用场景上,针对不同的需求需要选用不同的工具:例如,进行底层协议深度分析或安全审计时,Wireshark凭借其强大的协议支持和过滤能力成为首选;而在Web前端或移动端开发中,专注于HTTP/HTTPS调试的Fidd

weixin_30458043的博客 399

Fiddler抓包工具

Fiddler介绍 Fiddler是一款非常流行并且实用的HTTP抓包工具,原理是在电脑上开启一个HTTP代理服务器,然后转发所有的HTTP请求和响应。不仅支持请求重放一些高级功能,也可以支持对手机应用进行HTTP抓包。 Fiddler是用C#开发的工具,包含一个简单却功能强大的基于JScript.NET事件的脚本子系统,灵活性非常棒,可以支持众多的HTTP调试任务,并且能用.net框架语言进行扩...

qq_42359085的博客 235

微信网页版WebSocket抓包分析:Fiddler+Proxifier实战指南

WebSocket作为一种在单个TCP连接上进行全双工通信的协议,是实现Web端实时通信的核心技术。其工作原理基于HTTP升级握手,之后便建立起持久连接,允许服务器主动向客户端推送数据,有效克服了传统HTTP轮询的延迟与资源消耗问题。该技术在提升实时交互体验、降低服务器负载方面具有重要价值,广泛应用于在线聊天、协同编辑、实时数据监控等场景。本文聚焦于微信网页版这一典型应用,其核心通信正是基于WebSocket构建。为了深入分析其私有二进制协议,需要借助Fiddler Classic等抓包工具捕获并解密流量,

358

Fiddler抓包原理与实战:前端网络调试不可替代的底层工具

HTTP/HTTPS抓包是前端可观测性的基础能力,其核心在于理解代理机制、TLS中间人解密原理及跨进程流量捕获逻辑。Fiddler作为轻量级系统级代理工具,不依赖浏览器内核,可穿透双核浏览器、Webview、IE兼容模式等受限环境,解决DevTools无法覆盖的‘请求发没发出、被谁拦截、响应是否异常’等确定性问题。它在HTTPS解密、AutoResponder本地替换、FiddlerScript自动化等场景中展现出独特技术价值,广泛应用于线上问题复现、跨域调试、老旧系统兼容性排查及API行为验证等工程实践。

dejz8829的专栏 504

Fiddler工具杂记-将某些数据收集起来并且发送HTTP数据包

这里我就直接贴代码了。JScript.net语法 static function OnBeforeResponse(oSession: Session) { if (m_Hide304s && oSession.responseCode == 304) { oSession["ui-hide"] = "true"; ...

IT1995的博客 3658

抓包工具实战指南:Fiddler、Wireshark、Charles核心场景与配置技巧

网络协议分析是软件开发和运维中的基础技能,其核心在于捕获和解析网络数据包以理解应用通信行为。抓包工具通过代理或网卡镜像技术,实现对HTTP/HTTPS及底层协议流量的拦截与解码,为性能优化、故障排查和安全审计提供关键洞察。在工程实践中,工具选型需匹配具体场景:Fiddler和Charles作为应用层代理,专精于HTTP/HTTPS流量的调试与篡改,支持断点设置和流量映射;Wireshark则提供全协议栈分析能力,通过显示过滤器和捕获过滤器实现精准诊断。掌握这些工具的组合使用,能有效解决移动端抓包、HTTPS

weixin_34112181的博客 287

FiddlerScript编程

FiddlerScript 是Fiddler 的一项非常强大的功能,它允许你增强Fiddler UI,添加新的特性,修改请求与响应内容等等。。。 1.编写FiddlerScript FiddlerScript 基于JScript.NET 语言。在Fiddler 中点击菜单“Rules &gt; Customize Rules”打开FiddlerScript Editor 编辑器,在这里可以编写...

細水、長流√的专栏 1万+

抖音短视频数据抓取实战系列(四)——Fiddler自动化存储用户数据到本地JSON文件

本文详细介绍了如何使用Fiddler自动化抓取并存储抖音用户详细信息到本地JSON文件,提升数据采集效率。通过实战代码示例,讲解Fiddler脚本编辑、JSON文件存储路径设置、数据验证及高级优化技巧,帮助开发者高效处理抖音用户数据。

weixin_29224309的博客 410

Fiddler抓包全攻略:从HTTP/HTTPS解密到移动端调试实战

HTTP/HTTPS协议是Web和移动应用通信的基石,理解其工作原理对开发调试至关重要。通过代理机制,我们可以对网络请求进行拦截、分析和修改,这在排查接口问题、性能优化和安全测试中具有极高价值。Fiddler作为一款强大的HTTP调试代理工具,正是实现这一能力的利器。它通过中间人(MITM)技术,能够解密HTTPS流量,让开发者清晰查看请求与响应的细节。无论是前端排查API调用异常,还是后端验证接口设计,亦或是测试人员进行安全审计,Fiddler都能提供关键洞察。本文聚焦于Fiddler的核心应用,特别是针

long_yu2的专栏 539

软件测试之fiddler详解

Fiddler(中文名称:小提琴)是一个HTTP的调试代理,以代理服务器的方式,监听系统的Http网络数据流动,Fiddler可以也可以让你检查所有的HTTP通讯,设置断点,以及Fiddle所有的“进出”的数据(我一般用来抓包),Fiddler还包含一个简单却功能强大的基于JScript .NET事件脚本子系统,它可以支持众多的HTTP调试任务。Fiddler官方网站提供了大量的帮助文档和视频教程,这是学习Fiddler的最好资料。

huace3852的博客 465

Fiddler HTTP抓包工具

Fiddler HTTP抓包工具

Fiddler抓包工具深度对比:从Classic到Everywhere的实战演进

HTTP/HTTPS抓包是网络调试与安全测试中的基础且关键的技术环节,其核心原理是通过代理服务器进行中间人攻击,实现对客户端与服务器间通信的拦截、分析与修改。这项技术对于接口调试、性能优化和安全漏洞排查具有重要价值,广泛应用于前端开发、移动应用测试和后端API验证等场景。随着技术演进,抓包工具也在不断升级,例如Fiddler工具系列就经历了从经典单机版向现代化跨平台协作版的变迁。本文聚焦于Fiddler Classic与Fiddler Everywhere在核心抓包能力上的对比,深入探讨了它们在代理设置、H

weixin_30466039的博客 378

晶振匹配电容容值计算方法

在使用晶振时,应仔细参考晶振规格书,以确保正确选择匹配电容,从而获得稳定和精准的时钟源。

aidi1111的博客 4653

RPCA模型及GoDec算法

一、基础知识 在线性代数中,秩的物理意义是矩阵中最大的不相关的向量个数,因此秩可以用来度量相关性;而在图像处理中,秩就可以理解为图像中所包含的信息的丰富程度。图片中比较突兀的成分,会增加图像矩阵的秩,一幅清晰的自然图像其数据矩阵往往是低秩或者近似低秩的,这是因为其中的图像信息有很大的相关性,但如果图像中引入噪声,那么存在随机幅值任意大但是分布稀疏的误差破坏了原有数据的低秩性。 低秩矩阵:如果AAA是一个m×nm×nm×n的矩阵,rank(A)rank(A)rank(A)是矩阵AAA的秩,如果rank(A)

小席的学习日志 7688

Fiddler介绍

一、简介 Fiddler(中文名称:小提琴)是一个HTTP的调试代理,是目前最常用的http抓包工具之一。 Fiddler以代理服务器的方式,监听系统的Http网络数据流动。 Fiddler可以让你检查所有的HTTP通讯,设置断点,以及Fiddle所有的“进出”的数据 Fiddler还包含一个简单却功能强大的基于JScript .NET事件脚本子系统,它可以支持众多的HTTP调试任务。 二、工作原理 Fiddler是以代理WEB服务器的形式工作的,浏览器与服务器之间通过建立TCP

wjc_zr的博客 1225

PX4 Gazebo仿真进阶:自定义飞机模型和地图的完整指南

本文详细介绍了如何在PX4 Gazebo仿真中自定义飞机模型和地图模型,包括文件架构解析、参数调整指南、地图定制技巧及常见问题解决方案。通过实战步骤和性能优化建议,帮助开发者高效完成复杂场景的飞行控制算法测试。

weixin_29081101的博客 386

2025 Fiddler Web Debugger中文版实战指南:三步掌握网络请求全流程调试

作为Web开发者、测试工程师或运维人员,你是否经常遇到这些困扰:前端接口调用失败却找不到原因?APP网络请求异常难以定位?HTTPS加密流量无法查看?2025年最新版Fiddler Web Debugger中文版正是为解决这些痛点而生。这款免费工具能让你像"网络侦探"一样,实时捕获所有HTTP/HTTPS请求,深入分析每一个数据包的来龙去脉,让网络调试从"猜谜游戏"变成"透明操作"。无论你是技术新

gitblog_00523的博客 254

别再手动写JSON了!用Node-RED OPC UA节点5分钟搞定楼宇温湿度数据采集

本文介绍了如何利用Node-RED和OPC UA节点快速实现楼宇温湿度数据的自动化采集与JSON格式转换。通过可视化工具Node-RED,开发者无需编写复杂代码,5分钟内即可完成从传感器到数据输出的全流程配置,大幅提升智慧楼宇和工业物联网项目的实施效率。

weixin_30368405的博客 433

FPGA 学习笔记:解决FPGA程序固化重新上电程序不运行的问题

FPGA 学习笔记:解决FPGA程序固化重新上电程序不运行的问题

坚韧与专注 1万+

软件测试之Fiddler教程

Fiddler(中文名称:小提琴)是一个HTTP的调试代理,以代理服务器的方式,监听系统的Http网络数据流动,Fiddler可以也可以让你检查所有的HTTP通讯,设置断点,以及Fiddle所有的“进出”的数据(我一般用来抓包),Fiddler还包含一个简单却功能强大的基于JScript .NET事件脚本子系统,它可以支持众多的HTTP调试任务。Fiddler官方网站提供了大量的帮助文档和视频教程,这是学习Fiddler的最好资料。

HUA1211的博客 1216

CAN总线数据采集与分析

在CAN总线数据采集中,数据采集是指从CAN网络中获取数据,并将其存储在本地或远程数据库中。数据源:明确数据源,如CAN总线、CANoe/CANalyzer工具等。数据格式:确定数据格式,如CAN消息、信号值、环境变量等。数据存储:选择数据存储方式,如本地文件、数据库、云存储等。在CAN总线数据分析中,数据分析是指对采集到的数据进行处理和分析,以提取有用的信息。数据处理:对采集到的数据进行处理,如滤波、去噪、归一化等。数据分析:对处理后的数据进行分析,如统计分析、趋势分析、故障诊断等。数据可视化。

闲人编程的博客 4045

「docker实战篇」python的docker爬虫技术-fiddler抓包工具(三)

原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢! 原文链接地址:「docker实战篇」python的docker爬虫技术-fiddler抓包工具(三) fiddler转包软件的安装和介绍。 对比3款APP抓包工具 软件名称 支持的操作系统 使用平台 调试难易程度 软件功能程度 fiddler Windows/linux/mac 网页端,APP端 一般 多 ...

IT架构圈博客 810

电池模拟器【 电化学模型深度解析:PNGV模型原理与应用(专业科普版)】

1. 模型起源PNGV(Partnership for a New Generation of Vehicles)模型诞生于1993年美国“新一代汽车合作计划”,旨在提升混合动力汽车电池系统的建模精度。该模型最初针对铅酸电池设计,后经改进广泛用于锂离子电池、镍氢电池等动态特性仿真。2. 模型定位PNGV属于**等效电路模型(ECM)**的进阶版本,介于简单Rint模型与复杂电化学模型(如P2D模型)之间,兼顾计算效率与精度,是BMS(电池管理系统)中SOC/SOH估算的主流选择。PNGV模型凭借。

优快云-新能源汽车研发测试专业博主 1699

镜头像差之五——场曲

什么是场曲? 场曲[curvature of field] 物面上所有的点经过系统后,最佳焦点位置不在同一平面上,若这些像点所成的面为曲面,则称为系统有场曲。 与物高二次方、入射光瞳口径一次方成正比的像差。若仅存在场曲,则所有物平面上的点都有相应的像点,但分布在一个球面上;若采用弯成此种形状的底片,则可获得处处清晰的像。此时在理想像平面上,像点呈现为圆斑。 第一张图是最简单也是最容易理解的场曲,也就是对焦点锐利,其余部分逐渐松散,但实际上大多现代镜头的场曲都呈现为图二的形态:对焦点与边缘锐度.

camerall 1万+
下一篇: Foxpro、excel文件批量导入数据到Mysql、Oracle
不假思索
博客等级 码龄23年 10粉丝 10原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值