2025年2月24日 星期一 甲辰(龙)年 腊月廿四 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 软件应用 > 网络应用

fiddler2 抓取指定域名及保存内容

时间:12-05来源:作者:点击数:17

点击菜单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();
  • }
  • }

 

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐