点击菜单Rules---Customize-Rules...
保存本件地址 D:/Fiddler/receive.html
注意 要用这种/ 不能用这种斜杠\;
对保存的 内容可以if else 判断 分别放到不同的文件目录及文件中。
- static function OnBeforeRequest(oSession: Session) {
- // Sample Rule: Color ASPX requests in RED
- // if (oSession.uriContains(".aspx")) { oSession["ui-color"] = "red"; }
-
- // Sample Rule: Flag POSTs to fiddler2.com in italics
- // if (oSession.HostnameIs("www.fiddler2.com") && oSession.HTTPMethodIs("POST")) { oSession["ui-italic"] = "yup"; }
-
- // Sample Rule: Break requests for URLs containing "/sandbox/"
- // if (oSession.uriContains("/sandbox/")) {
- // oSession.oFlags["x-breakrequest"] = "yup"; // Existence of the x-breakrequest flag creates a breakpoint; the "yup" value is unimportant.
- // }
-
- if ((null != gs_ReplaceToken) && (oSession.url.indexOf(gs_ReplaceToken)>-1)) { // Case sensitive
- oSession.url = oSession.url.Replace(gs_ReplaceToken, gs_ReplaceTokenWith);
- }
- if ((null != gs_OverridenHost) && (oSession.host.toLowerCase() == gs_OverridenHost)) {
- oSession["x-overridehost"] = gs_OverrideHostWith;
- }
-
- if ((null!=bpRequestURI) && oSession.uriContains(bpRequestURI)) {
- oSession["x-breakrequest"]="uri";
- }
-
- if ((null!=bpMethod) && (oSession.HTTPMethodIs(bpMethod))) {
- oSession["x-breakrequest"]="method";
- }
-
- if ((null!=uiBoldURI) && oSession.uriContains(uiBoldURI)) {
- oSession["ui-bold"]="QuickExec";
- }
-
- if (m_SimulateModem) {
- // Delay sends by 300ms per KB uploaded.
- oSession["request-trickle-delay"] = "300";
- // Delay receives by 150ms per KB downloaded.
- oSession["response-trickle-delay"] = "150";
- }
-
- if (m_DisableCaching) {
- oSession.oRequest.headers.Remove("If-None-Match");
- oSession.oRequest.headers.Remove("If-Modified-Since");
- oSession.oRequest["Pragma"] = "no-cache";
- }
-
- // User-Agent Overrides
- if (null != sUA) {
- oSession.oRequest["User-Agent"] = sUA;
- }
-
- if (m_Japanese) {
- oSession.oRequest["Accept-Language"] = "ja";
- }
-
- if (m_AutoAuth) {
- // Automatically respond to any authentication challenges using the
- // current Fiddler user's credentials. You can change (default)
- // to a domain\\username:password string if preferred.
- //
- // WARNING: This setting poses a security risk if remote
- // connections are permitted!
- oSession["X-AutoAuth"] = "(default)";
- }
-
- if (m_AlwaysFresh && (oSession.oRequest.headers.Exists("If-Modified-Since") || oSession.oRequest.headers.Exists("If-None-Match")))
- {
- oSession.utilCreateResponseAndBypassServer();
- oSession.responseCode = 304;
- oSession["ui-backcolor"] = "Lavender";
- }
-
- //过滤无关请求,只关注特定请求 填写需要抓取的域名
- if (oSession.fullUrl.Contains("http://xxx.com")) {
- var fso;
- var file;
- fso = new ActiveXObject("Scripting.FileSystemObject");
- //文件保存路径,可自定义
- file = fso.OpenTextFile("D:/Fiddler/receive.html",8 ,true, true);
- file.writeLine("Request url: " + oSession.url);
- file.writeLine("Request header:" + "\n" + oSession.oRequest.headers);
- file.writeLine("Request body: " + oSession.GetRequestBodyAsString());
- file.writeLine("\n");
- file.close();
-
- }
-
-
-
-
- }
-
- // This function is called immediately after a set of request headers has
- // been read from the client. This is typically too early to do much useful
- // work, since the body hasn't yet been read, but sometimes it may be useful.
- //
- // For instance, see
- // http://blogs.msdn.com/b/fiddler/archive/2011/11/05/http-expect-continue-delays-transmitting-post-bodies-by-up-to-350-milliseconds.aspx
- // for one useful thing you can do with this handler.
- //
- // Note: oSession.requestBodyBytes is not available within this function!
- /*
- static function OnPeekAtRequestHeaders(oSession: Session) {
- var sProc = ("" + oSession["x-ProcessInfo"]).ToLower();
- if (!sProc.StartsWith("mylowercaseappname")) oSession["ui-hide"] = "NotMyApp";
- }
- */
-
- //
- // If a given session has response streaming enabled, then the OnBeforeResponse function
- // is actually called AFTER the response was returned to the client.
- //
- // In contrast, this OnPeekAtResponseHeaders function is called before the response headers are
- // sent to the client (and before the body is read from the server). Hence this is an opportune time
- // to disable streaming (oSession.bBufferResponse = true) if there is something in the response headers
- // which suggests that tampering with the response body is necessary.
- //
- // Note: oSession.responseBodyBytes is not available within this function!
- //
- static function OnPeekAtResponseHeaders(oSession: Session) {
- //FiddlerApplication.Log.LogFormat("Session {0}: Response header peek shows status is {1}", oSession.id, oSession.responseCode);
- if (m_DisableCaching) {
- oSession.oResponse.headers.Remove("Expires");
- oSession.oResponse["Cache-Control"] = "no-cache";
- }
-
- if ((bpStatus>0) && (oSession.responseCode == bpStatus)) {
- oSession["x-breakresponse"]="status";
- oSession.bBufferResponse = true;
- }
-
- if ((null!=bpResponseURI) && oSession.uriContains(bpResponseURI)) {
- oSession["x-breakresponse"]="uri";
- oSession.bBufferResponse = true;
- }
-
- }
-
- static function OnBeforeResponse(oSession: Session) {
- if (m_Hide304s && oSession.responseCode == 304) {
- oSession["ui-hide"] = "true";
- }
-
- //过滤无关请求,只关注特定请求
- if (oSession.fullUrl.Contains("http://xxx.com")) {
- oSession.utilDecodeResponse();
- //消除保存的请求可能存在乱码的情况
- var fso;
- var file;
- fso = new ActiveXObject("Scripting.FileSystemObject");
- //文件保存路径,可自定义
- file = fso.OpenTextFile("D:/Fiddler/receive.html",8 ,true, true);
- file.writeLine("Response code: " + oSession.responseCode);
- file.writeLine("Response body: " + oSession.GetResponseBodyAsString());
- file.writeLine("\n");
- file.close();
-
- }
-
-
- }