跳至頁尾內容
.NET 幫助

FiddlerCore .NET(開發者使用指南)

兩個重要的 .NET 函式庫可大幅改善網頁開發和文件管理能力,它們是 FiddlerCoreIronPDF 。 透過 FiddlerCore,開發人員可將 HTTP/HTTPS 流量擷取與檢查功能整合至其應用程式中。 此開放源碼工具源自知名的 Fiddler 網路除錯系統代理程式。 它提供對網路流量的全面控制,有助於除錯、測試和優化線上互動。

相反,IronPDF 是一個靈活的 PDF 操作軟體函式庫,用於建立、修改和組織 PDF 檔案。 它可以輕鬆地從 HTML、ASPX 和圖像檔案中建立高品質的 PDF。 IronPDF 簡化了複雜的 PDF 操作,具有分割、合併和新增註解等功能。

透過將 FiddlerCore 與 IronPDF 整合,開發人員除了可以監控和分析網路流量之外,還可以設計出可產生全面 PDF 報告的應用程式。 它們共同提供了強大的文件管理系統和有效的線上除錯解決方案,改善了整體的開發工作流程。

什麼是 FiddlerCore?

FiddlerCore 是一個功能強大的 .NET 套件,以流行的網頁除錯代理程式 Fiddler 為基礎。 它允許開發人員將 Fiddler 強大的 HTTP/HTTPS 流量擷取和檢測功能整合到他們的應用程式中。就像 Fiddler UI 一樣,它也允許我們修改 HTTP 請求。 這個函式庫是除錯、測試和改善網路互動的重要資源,因為它可以徹底監控、記錄和修改網路流量。

FiddlerCore 可讓開發人員完全控制網路流量,允許他們攔截、解碼和更改請求與回應。 這可讓您更容易找到並修復線上應用程式的問題,例如效能問題和安全漏洞。 FiddlerCore 的 API 使深度整合選項成為可能,讓個人化流程和自動化作業成為可能。

一般而言,FiddlerCore 可透過提供互動且徹底的網頁流量檢視來改善開發流程,這是建立可靠且有效率的網頁應用程式的必要工具。

FiddlerCore .NET (How It Works For Developers):圖 1

FiddlerCore 的特點

FiddlerCore 提供廣泛的功能集,旨在改善線上流量的最佳化、除錯與監控。 其中突出的特點包括

全面的 HTTP/HTTPS 流量擷取

在 FiddlerCore 的協助下,可透過攔截、記錄和解密 HTTP 與 HTTPS 資料,徹底檢視網頁流量。

詳細流量檢查

為了協助識別和解決問題,開發人員可以檢查和分析請求與回應資料,包括標頭、cookie 和有效負載。

動態流量操控

使用 FiddlerCore,您可以快速變更請求與回答,模擬各種網路情境與回應,以有效率地測試與除錯應用程式。

進階指令碼與自動化

FiddlerCore 強大的腳本功能可讓使用者自動化流程,並建立複雜的工作流程和規則來操控流量,提高產出和效率。

效能測試

透過評估網路流量、計算吞吐量和回應載入時間,以及找出效能瓶頸,該資料庫有助於最佳化應用程式效能。

穩健的安全性測試

為了測試漏洞並加強應用程式的安全性,FiddlerCore 是安全評估的必要工具,因為它可以解密並分析受保護的通訊。

會話儲存與重播

透過儲存和重播擷取的流量會話,允許全面檢查和複製故障,可以更有效地完成除錯。

高效篩選與搜尋

開發人員可以利用 FiddlerCore 的過濾和搜尋功能快速找到相關的流量會話,這些功能可以集中在特定的模式或種類進行重點檢查。

跨平台支援

FiddlerCore 相容於多種 .NET 環境,如 .NET Framework、.NET Core 及 .NET 5+,可保證順利整合至各種開發環境。

建立與設定 FiddlerCore

要在 .NET 應用程式中建立和設定 FiddlerCore,必須遵循這些步驟:

設定您的專案

先確保您的 .NET 專案準備就緒。使用 .NET CLI 或 Visual Studio,您可以製作一個新的專案。

dotnet new console -n FiddlerCoreExample
cd FiddlerCoreExample
dotnet new console -n FiddlerCoreExample
cd FiddlerCoreExample
SHELL

安裝 FiddlerCore

需要安裝 FiddlerCore NuGet 套件。 使用 .NET CLI 或 NuGet Package Manager 將其新增至您的專案。

dotnet add package FiddlerCore
dotnet add package FiddlerCore
SHELL

基本組態

以下是在基本控制台程式中設定並啟動 FiddlerCore 的範例。

using Fiddler;
using System;

namespace FiddlerCoreExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Attach event handler for the BeforeRequest event
            FiddlerApplication.BeforeRequest += (session) => {
                Console.WriteLine("Before Request for: " + session.fullUrl);
                session.bBufferResponse = true; // Buffer response to manipulate it if needed
            };

            // Attach event handler for the BeforeResponse event
            FiddlerApplication.BeforeResponse += (session) => {
                Console.WriteLine("Before Response for: " + session.fullUrl);
            };

            // Start FiddlerCore
            FiddlerApplication.Startup(new FiddlerCoreStartupSettingsBuilder()
                .RegisterAsSystemProxy()
                .ListenOnPort(8888)
                .Build());
            Console.WriteLine("FiddlerCore started. Press any key to stop...");
            Console.ReadKey();

            // Shutdown FiddlerCore
            FiddlerApplication.Shutdown();
            Console.WriteLine("FiddlerCore stopped.");
        }
    }
}
using Fiddler;
using System;

namespace FiddlerCoreExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Attach event handler for the BeforeRequest event
            FiddlerApplication.BeforeRequest += (session) => {
                Console.WriteLine("Before Request for: " + session.fullUrl);
                session.bBufferResponse = true; // Buffer response to manipulate it if needed
            };

            // Attach event handler for the BeforeResponse event
            FiddlerApplication.BeforeResponse += (session) => {
                Console.WriteLine("Before Response for: " + session.fullUrl);
            };

            // Start FiddlerCore
            FiddlerApplication.Startup(new FiddlerCoreStartupSettingsBuilder()
                .RegisterAsSystemProxy()
                .ListenOnPort(8888)
                .Build());
            Console.WriteLine("FiddlerCore started. Press any key to stop...");
            Console.ReadKey();

            // Shutdown FiddlerCore
            FiddlerApplication.Shutdown();
            Console.WriteLine("FiddlerCore stopped.");
        }
    }
}
$vbLabelText   $csharpLabel

說明

  • FiddlerApplication.BeforeRequest:在請求傳送到伺服器之前啟動。
  • FiddlerApplication.BeforeResponse:在回應傳送至客戶端之前啟動。

開始使用 FiddlerCore

FiddlerApplication.Startup(settings):使用給定的啟動設定在指定的連接埠啟動 FiddlerCore。 預設連接埠為 8888。

停止 FiddlerCore

FiddlerApplication.Shutdown(): 停止 FiddlerCore 並釋放資源。

其他配置

FiddlerCore 可以透過變更 FiddlerCoreStartupFlags 或事件處理器內的會話行為,進一步設定以符合您的需求。

FiddlerApplication.Startup(new FiddlerCoreStartupSettingsBuilder()
    .RegisterAsSystemProxy()
    .ListenOnPort(3000)
    .DecryptSSL()
    .AllowRemoteClients()
    .Build());
FiddlerApplication.Startup(new FiddlerCoreStartupSettingsBuilder()
    .RegisterAsSystemProxy()
    .ListenOnPort(3000)
    .DecryptSSL()
    .AllowRemoteClients()
    .Build());
$vbLabelText   $csharpLabel
  • DecryptSSL:啟用 HTTPS 流量解密。
  • AllowRemoteClients:允許遠端用戶端連線到 FiddlerCore。

開始使用 IronPdf

當您在 .NET 應用程式中整合 FiddlerCore 和 IronPDF 時,您可以監控網頁流量,並使用收集的資料建立全面的 PDF 報告。 以下是使用 IronPdf 和 FiddlerCore 的分步教程:

什麼是 IronPDF?

C# 程式可以使用功能豐富的 .NET 函式庫 IronPDF 來製作、閱讀和編輯 PDF 文件。 開發人員可以使用此工具輕鬆地從 HTML、CSS 和 JavaScript 內容建立可列印的高品質 PDF。 添加頁首和頁尾,分割和合併 PDF,為文件加上水印,以及將 HTML 轉換為 PDF 是其中幾項基本功能。 IronPDF 同時支援 .NET Framework 和 .NET Core,因此適用範圍廣泛。

由於 PDF 可提供豐富的內容,而且對使用者友善,因此開發人員可以輕鬆地將 PDF 整合到他們的程式中。 由 IronPDF 製作的輸出 PDF 與原始 HTML 內容非常相似,因為它可以輕鬆處理複雜的版面設計和格式。

FiddlerCore .NET (How It Works For Developers):圖 2

IronPDF 的特點

從 HTML 產生 PDF

將 HTML、CSS 及 JavaScript 轉換為 PDF。 IronPDF 支援兩個現代網路標準:媒體查詢和反應式設計。 這使得使用 HTML 和 CSS 來動態裝飾 PDF 文件、報告和帳單時非常方便。

PDF 編輯

可以在已存在的 PDF 中加入文字、圖片和其他資料。 從 PDF 檔案中萃取文字和影像。 將許多 PDF 合併為單一檔案。將 PDF 檔案分割成幾個不同的文件。 新增頁眉、頁腳、註解和水印。

PDF 轉檔

IronPDF 可以將 Word、Excel 和影像檔案等多種檔案類型轉換為 PDF。 讓 PDF 轉換成圖像(PNG、JPEG 等)變得簡單。

效能與可靠性

在工業環境中,高效能和高可靠性是理想的設計特質。 IronPdf 可輕鬆處理大型文件集。

安裝 IronPDF

安裝 IronPDF 套件,即可獲得在 .NET 專案中使用 PDF 所需的工具。

dotnet add package IronPdf
dotnet add package IronPdf
SHELL

FiddlerCore 與 IronPDF

下面的程式碼是設定並執行 FiddlerCore、擷取網路流量,然後使用 IronPDF 建立 PDF 報告的範例。

using Fiddler;
using IronPdf;
using System;
using System.Text;

namespace FiddlerCoreIronPDFExample
{
    class Program
    {
        // StringBuilder to store traffic details
        static StringBuilder sb = new StringBuilder();

        static void Main(string[] args)
        {
            // Initialize FiddlerCore event handlers
            FiddlerApplication.OnNotification += (sender, oNEA) => {
                Console.WriteLine("Notification: " + oNEA.NotifyString);
            };
            FiddlerApplication.OnLogString += (sender, oLEA) => {
                Console.WriteLine("Log: " + oLEA.LogString);
            };
            FiddlerApplication.BeforeRequest += (session) => {
                Console.WriteLine("Before Request for: " + session.fullUrl);
                sb.AppendLine($"Request: {session.fullUrl}");
                session.bBufferResponse = true; // Buffer response
            };
            FiddlerApplication.BeforeResponse += (session) => {
                Console.WriteLine("Before Response for: " + session.fullUrl);
                sb.AppendLine($"Response: {session.GetResponseBodyAsString()}");
            };

            // Start FiddlerCore
            FiddlerApplication.Startup(8888, FiddlerCoreStartupFlags.Default);
            Console.WriteLine("FiddlerCore started. Press any key to stop...");
            Console.ReadKey();

            // Shutdown FiddlerCore
            FiddlerApplication.Shutdown();
            Console.WriteLine("FiddlerCore stopped.");

            // Generate PDF report
            GeneratePdfReport(sb.ToString());
        }

        // Method to generate PDF report from captured traffic
        static void GeneratePdfReport(string content)
        {
            var renderer = new HtmlToPdf();
            var pdf = renderer.RenderHtmlAsPdf($"<html><body><pre>{content}</pre></body></html>");
            pdf.SaveAs("TrafficReport.pdf");
            Console.WriteLine("PDF report generated: TrafficReport.pdf");
        }
    }
}
using Fiddler;
using IronPdf;
using System;
using System.Text;

namespace FiddlerCoreIronPDFExample
{
    class Program
    {
        // StringBuilder to store traffic details
        static StringBuilder sb = new StringBuilder();

        static void Main(string[] args)
        {
            // Initialize FiddlerCore event handlers
            FiddlerApplication.OnNotification += (sender, oNEA) => {
                Console.WriteLine("Notification: " + oNEA.NotifyString);
            };
            FiddlerApplication.OnLogString += (sender, oLEA) => {
                Console.WriteLine("Log: " + oLEA.LogString);
            };
            FiddlerApplication.BeforeRequest += (session) => {
                Console.WriteLine("Before Request for: " + session.fullUrl);
                sb.AppendLine($"Request: {session.fullUrl}");
                session.bBufferResponse = true; // Buffer response
            };
            FiddlerApplication.BeforeResponse += (session) => {
                Console.WriteLine("Before Response for: " + session.fullUrl);
                sb.AppendLine($"Response: {session.GetResponseBodyAsString()}");
            };

            // Start FiddlerCore
            FiddlerApplication.Startup(8888, FiddlerCoreStartupFlags.Default);
            Console.WriteLine("FiddlerCore started. Press any key to stop...");
            Console.ReadKey();

            // Shutdown FiddlerCore
            FiddlerApplication.Shutdown();
            Console.WriteLine("FiddlerCore stopped.");

            // Generate PDF report
            GeneratePdfReport(sb.ToString());
        }

        // Method to generate PDF report from captured traffic
        static void GeneratePdfReport(string content)
        {
            var renderer = new HtmlToPdf();
            var pdf = renderer.RenderHtmlAsPdf($"<html><body><pre>{content}</pre></body></html>");
            pdf.SaveAs("TrafficReport.pdf");
            Console.WriteLine("PDF report generated: TrafficReport.pdf");
        }
    }
}
$vbLabelText   $csharpLabel

為了記錄線上流量並產生 PDF 報告,我們在本範例中將 FiddlerCore 和 IronPDF for .NET 整合到 .NET 主控台應用程式中。 FiddlerCore 由應用程式初始化,程式也會設定 HTTP 請求與回應的事件處理器。

使用 StringBuilder 收集流量資料,其中包括請求的 URL 和回應的內容。 FiddlerCore 在埠 8888 上啟動,並持續記錄線上流量,直到使用者按下任何鍵結束程式為止。 程式關閉後,IronPDF 會用來將流量資料編譯成 PDF 報告。

FiddlerCore .NET (How It Works For Developers):圖 3

如何使用 IronPDF 使用 HTML 创建 PDF 格式的流量日志,使用 GeneratePdfReport 函数转换为 PDF,并保存为 "TrafficReport.pdf"。這說明了 IronPDF 強大的 PDF 創建功能和 FiddlerCore 的線上流量監控功能如何完美地結合在一起,在單一應用程式中提供全面的流量分析和報告。

FiddlerCore .NET (How It Works For Developers):圖 4

結論

當 FiddlerCore 和 IronPDF for .NET 整合到 .NET 應用程式中時,就會產生一個有效的工具來收集、檢查和報告網路流量。 開發人員可以利用 IronPDF 靈活的 PDF 製作功能,結合 FiddlerCore 強大的流量監控和操作功能,在製作翔實報告的同時,有效地調試和優化線上應用程式。 這樣的組合可提高 Web 應用程式互動的能見度,並實現全面的文件記錄和分析,從而簡化開發和故障排除流程。

對於 Web 應用程式開發,FiddlerCore 與 IronPDF 的結合提供了完整的解決方案,無論是效能測試、安全性檢查或完整流量監控的需求,都能大幅提升生產力與洞察力。

您可以使用 IronPdf 和 探索其他 Iron 軟體函式庫進行 OCR、與條碼互動、產生 PDF、連結至 Excel 等,以獲得更強大的功能和更高效的開發,起始價格為 $799 。 它通過結合 Iron Software 的高度適應性系統和套件及其核心支援來實現這一目標。

如果授權選項明確,並針對專案量身打造,開發人員會發現更容易選擇最佳模式。 在這些優勢的幫助下,開發人員可以輕鬆、成功且有凝聚力地整合各種問題的解決方案。

常見問題解答

如何在.NET應用程式中擷取HTTP/HTTPS流量?

您可以使用 FiddlerCore 在 .NET 應用程式中擷取 HTTP/HTTPS 流量。透過整合 FiddlerCore,您可以監控、記錄和操作 Web 流量,從而獲得全面的控制權限,用於偵錯和測試。

在Web開發中使用FiddlerCore有哪些好處?

FiddlerCore 透過提供 HTTP/HTTPS 流量擷取、詳細檢查和動態操作等功能來增強 Web 開發。這有助於調試、測試和優化 Web 交互,並改進安全測試和效能分析。

如何根據網站流量資料產生PDF報告?

使用 IronPDF,您可以將捕獲的網站流量資料轉換為 PDF 報告。 IronPDF 允許您透過將 HTML、CSS 和 JavaScript 轉換為高品質 PDF 來建立結構化文檔,這些 PDF 可用於分析和文檔編制。

如何在 .NET 專案中設定 FiddlerCore?

要在 .NET 專案中設定 FiddlerCore,您需要安裝 FiddlerCore NuGet 套件並使用適當的啟動設定對其進行設定。此配置將允許您根據應用程式的需要捕獲和處理網路流量。

FiddlerCore可以用於安全測試嗎?

是的,FiddlerCore 可以有效地用於安全測試。它允許您解密和分析安全通信,透過詳細的流量檢查來幫助識別漏洞並增強應用程式安全性。

IronPDF 提供哪些 PDF 處理功能?

IronPDF 提供多種 PDF 操作功能,包括從 HTML 建立 PDF、新增文字和影像、合併和分割 PDF 以及新增註解和浮水印。它是一款用於在 .NET 應用程式中管理 PDF 文件的綜合工具。

如何將PDF產生與網路流量擷取整合在一起?

您可以使用 FiddlerCore 監控和記錄網路流量,然後使用 IronPDF 將擷取的資料轉換為詳細的 PDF 報告,從而將 PDF 產生與網路流量擷取整合起來。這種整合提供了一套完整的調試和文件功能。

FiddlerCore有哪些設定選項?

FiddlerCore 提供多種設定選項,例如設定監聽連接埠、啟用 SSL 解密以及允許遠端用戶端連線。您可以使用 FiddlerCoreStartupSettingsBuilder 自訂這些選項,從而根據您的需求自訂流量擷取和處理方式。

FiddlerCore 和 IronPDF 的結合使用對 Web 開發人員有何好處?

FiddlerCore 與 IronPDF 的結合,透過簡化偵錯流程和增強文件管理功能,使 Web 開發人員受益匪淺。這種整合支援流量監控、調試和報告,從而改進開發工作流程並實現更全面的文檔編寫。

Jacob Mellor,Team Iron 首席技術官
首席技術長

Jacob Mellor 是 Iron Software 的首席技術官,也是一位富有遠見的工程師,率先開發了 C# PDF 技術。作為 Iron Software 核心程式碼庫的最初開發者,他自公司成立之初便參與塑造了其產品架構,並與執行長 Cameron Rimington 一起將其發展成為一家擁有 50 多名員工、服務於 NASA、特斯拉和全球政府機構的公司。

Jacob 於 1998 年至 2001 年在曼徹斯特大學獲得土木工程一級榮譽學士學位。 1999 年,他在倫敦創辦了自己的第一家軟體公司;2005 年,他創建了自己的第一個 .NET 元件。此後,他專注於解決微軟生態系統中的複雜問題。

他的旗艦產品 IronPDF 和 IronSuite .NET 庫在全球 NuGet 上的安裝量已超過 3000 萬次,其基礎程式碼持續為全球開發者工具提供支援。憑藉 25 年的商業經驗和 41 年的程式設計專長,Jacob 始終致力於推動企業級 C#、Java 和 Python PDF 技術的創新,同時指導下一代技術領導者。