フッターコンテンツにスキップ
.NETヘルプ

FiddlerCore .NET(開発者向けの仕組み)

Two vital .NET libraries that significantly improve web development and document management capabilities are FiddlerCore and IronPDF. FiddlerCoreを使用すると、開発者はHTTP/HTTPSトラフィックのキャプチャと検査の機能をアプリケーションに統合することができます。 このオープンソースツールは、よく知られたFiddler Webデバッグシステムプロキシから派生しています。 オンラインでのインタラクションをデバッグ、テスト、最適化するのに役立つ包括的なネットワークトラフィックの制御を提供します。

一方、IronPDFは、PDFファイルを作成、修正、および整理するための柔軟なPDF操作ソフトウェアライブラリです。 HTML、ASPX、画像ファイルから高品質のPDFを簡単に作成できます。 IronPDFは、分割、結合、注釈の追加などの機能で複雑なPDF操作を簡単にします。

FiddlerCoreとIronPDFを統合することで、開発者はWebトラフィックを監視および分析するだけでなく、包括的なPDFレポートを生成するアプリを設計できます。 それらを組み合わせることで、強力なドキュメント管理システムとオンラインデバッグソリューションを提供し、全体的な開発ワークフローを改善します。

FiddlerCoreとは?

FiddlerCoreは、人気のあるWebデバッグプロキシFiddlerに基づく強力な.NETパッケージです。 開発者は、Fiddlerの堅牢なHTTP/HTTPSトラフィックキャプチャおよび検査機能をアプリに組み込むことができます。Fiddler UIと同様に、HTTPリクエストを変更することもできます。 このライブラリは、Webインタラクションのデバッグ、テスト、および改善に不可欠なリソースであり、Webトラフィックの徹底的な監視、ログ、および変更を可能にします。

FiddlerCoreは、開発者にネットワークトラフィックに対する完全な制御を提供し、リクエストとレスポンスを傍受、デコード、および変更することができます。 これにより、パフォーマンスの問題やセキュリティホールなど、オンラインアプリの問題を見つけて修正するのが簡単になります。 FiddlerCoreのAPIにより、深い統合オプションが可能になり、カスタマイズされたプロセスや自動化された操作を実現します。

一般的に、FiddlerCoreはインタラクティブで包括的なWebトラフィックのビューを提供することで開発プロセスを改善します。このツールは、信頼性の高い効果的なWebアプリケーションを作成するために不可欠です。

FiddlerCore .NET(開発者向けの機能説明):図1

FiddlerCoreの機能

FiddlerCoreは、オンライントラフィックの最適化、デバッグ、および監視を強化するための幅広い機能セットを提供します。 注目すべき特徴には以下があります:

包括的なHTTP/HTTPSトラフィックキャプチャ

FiddlerCoreの助けを借りて、HTTPとHTTPSの両方のデータの傍受、ログ、および復号化を行い、Webトラフィックを包括的に表示できます。

詳細なトラフィック検査

リクエストとレスポンスデータ(ヘッダー、クッキー、ペイロードを含む)を調べて分析し、問題の特定と解決に役立てます。

動的トラフィック操作

さまざまなネットワークシナリオやレスポンスを模倣し、アプリを効率的にテストおよびデバッグするためにリクエストとレスポンスを迅速に変更できます。

高度なスクリプトと自動化

FiddlerCoreの強力なスクリプティング機能により、ユーザーはプロセスを自動化し、トラフィックを操作する複雑なワークフローやルールを作成して、生産性と効率を向上させます。

パフォーマンステスト

Webトラフィックを評価し、スループットとレスポンスのロード時間を計算し、パフォーマンスのボトルネックを特定することによって、アプリケーションのパフォーマンスを最適化します。

強力なセキュリティテスト

脆弱性をテストしてアプリケーションのセキュリティを向上させるために、FiddlerCoreは保護された通信の復号化と分析を可能にし、セキュリティ評価に必要です。

セッションの保存と再生

キャプチャされたトラフィックセッションの保存と再生によって、欠陥の完全な検査と複製を可能にし、デバッグをより効果的に行います。

効率的なフィルタリングと検索

FiddlerCoreのフィルタリングと検索機能により、特定のパターンや種類に集中した詳細な分析を行うために、関連するトラフィックセッションを迅速に見つけることができます。

クロスプラットフォームサポート

.NET Framework、.NET Core、.NET 5+などの複数の.NET環境と互換性があり、さまざまな開発環境にスムーズに統合されます。

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パッケージマネージャーを使用して、それをプロジェクトに追加します。

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.");
        }
    }
}
Imports Fiddler
Imports System

Namespace FiddlerCoreExample
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			' Attach event handler for the BeforeRequest event
			AddHandler FiddlerApplication.BeforeRequest, Sub(session)
				Console.WriteLine("Before Request for: " & session.fullUrl)
				session.bBufferResponse = True ' Buffer response to manipulate it if needed
			End Sub

			' Attach event handler for the BeforeResponse event
			AddHandler FiddlerApplication.BeforeResponse, Sub(session)
				Console.WriteLine("Before Response for: " & session.fullUrl)
			End Sub

			' 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.")
		End Sub
	End Class
End Namespace
$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());
FiddlerApplication.Startup((New FiddlerCoreStartupSettingsBuilder()).RegisterAsSystemProxy().ListenOnPort(3000).DecryptSSL().AllowRemoteClients().Build())
$vbLabelText   $csharpLabel
  • DecryptSSL: HTTPSトラフィックの復号化を有効にします。
  • AllowRemoteClients: リモートのクライアントがFiddlerCoreに接続することを許可します。

IronPDFを始めよう

FiddlerCoreとIronPDFを.NETアプリケーションに統合すると、Webトラフィックを監視および制御し、収集したデータを使用して包括的なPDFレポートを作成できます。 こちらは、IronPDFとFiddlerCoreを使用するためのステップバイステップのチュートリアルです:

IronPDFとは何ですか?

C#プログラムでは、機能豊富な.NETライブラリIronPDFを使用して、PDFドキュメントを作成、読み取り、編集できます。 開発者は、このツールを使用してHTML、CSS、JavaScriptコンテンツから印刷用の高品質PDFを簡単に作成できます。 ヘッダーとフッターの追加、PDFの分割と結合、ドキュメントの透かし、HTMLからPDFへの変換は、主要な機能の一部です。 IronPDFは.NET Frameworkと.NET Coreの両方をサポートしており、幅広いアプリケーションで利用可能です。

PDFは豊富なコンテンツを提供しユーザーフレンドリーであるため、開発者はプログラムに簡単に組み込むことができます。 IronPDFによって生成される出力PDFは、元のHTMLコンテンツのレイアウトやフォーマットをそのまま再現できます。

FiddlerCore .NET(開発者向けの機能説明):図2

IronPDFの機能

HTMLからのPDF生成

HTML、CSS、およびJavaScriptをPDFに変換します。 IronPDFは、メディアクエリとレスポンシブデザインという2つの現代的なWeb標準をサポートしています。 これにより、HTMLとCSSを使用してPDFドキュメント、レポート、請求書などを動的に装飾するのに便利です。

PDF編集

既存のPDFにテキスト、画像、その他の素材を追加することができます。 PDFファイルからテキストと画像を抽出します。 複数のPDFを1つのファイルにマージします。PDFファイルを複数の個別のドキュメントに分割します。 ヘッダー、フッター、注釈、および透かしを追加します。

PDF変換

IronPDFは、Word、Excel、画像ファイルなど、さまざまなファイル形式をPDFに変換できます。 PDFの画像(PNG、JPEGなど)への変換も簡単です。

パフォーマンスと信頼性

産業的なコンテキストにおいて高いパフォーマンスと信頼性が望まれる設計属性です。 IronPDFは、大規模なドキュメントセットを容易に処理できます。

IronPDFをインストールする

.NETプロジェクトでのPDF作業に必要なツールを入手するために、IronPDFパッケージをインストールします。

dotnet add package IronPdf
dotnet add package IronPdf
SHELL

FiddlerCoreとIronPDF

以下のコードは、FiddlerCoreの設定と実行をし、Webトラフィックをキャプチャし、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");
        }
    }
}
Imports Fiddler
Imports IronPdf
Imports System
Imports System.Text

Namespace FiddlerCoreIronPDFExample
	Friend Class Program
		' StringBuilder to store traffic details
		Private Shared sb As New StringBuilder()

		Shared Sub Main(ByVal args() As String)
			' Initialize FiddlerCore event handlers
			AddHandler FiddlerApplication.OnNotification, Sub(sender, oNEA)
				Console.WriteLine("Notification: " & oNEA.NotifyString)
			End Sub
			AddHandler FiddlerApplication.OnLogString, Sub(sender, oLEA)
				Console.WriteLine("Log: " & oLEA.LogString)
			End Sub
			AddHandler FiddlerApplication.BeforeRequest, Sub(session)
				Console.WriteLine("Before Request for: " & session.fullUrl)
				sb.AppendLine($"Request: {session.fullUrl}")
				session.bBufferResponse = True ' Buffer response
			End Sub
			AddHandler FiddlerApplication.BeforeResponse, Sub(session)
				Console.WriteLine("Before Response for: " & session.fullUrl)
				sb.AppendLine($"Response: {session.GetResponseBodyAsString()}")
			End Sub

			' 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())
		End Sub

		' Method to generate PDF report from captured traffic
		Private Shared Sub GeneratePdfReport(ByVal content As String)
			Dim renderer = New HtmlToPdf()
			Dim pdf = renderer.RenderHtmlAsPdf($"<html><body><pre>{content}</pre></body></html>")
			pdf.SaveAs("TrafficReport.pdf")
			Console.WriteLine("PDF report generated: TrafficReport.pdf")
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

この例では、オンライントラフィックを記録し、PDFレポートを作成するために、FiddlerCoreとIronPDFを.NETコンソールアプリケーションに統合しています。 アプリケーションはFiddlerCoreを初期化し、HTTPリクエストおよびレスポンスのイベントハンドラを設定します。

リクエストのURLとレスポンスのコンテンツを含むトラフィックデータはStringBuilderを使用して収集されます。 FiddlerCoreはポート8888で起動し、プログラムを終わらせるために任意のキーを押すまでオンライントラフィックを記録し続けます。 プログラムが終了した後、IronPDFを使用してトラフィックデータをPDFレポートにまとめます。

FiddlerCore .NET(開発者向けの機能説明):図3

トラフィックログは、How to Create a PDF Using HTML with IronPDFにフォーマットされており、GeneratePdfReport機能を使用してPDFに変換され、「TrafficReport.pdf」として保存されます。これは、IronPDFの強力なPDF作成機能とFiddlerCoreのオンライントラフィック監視機能がうまく連携して、単一のアプリケーションで包括的なトラフィック分析および報告を実現する方法を示しています。

FiddlerCore .NET(開発者向けの機能説明):図4

結論

.NETアプリケーションにFiddlerCoreとIronPDFを統合することで、効率的なWebトラフィックの収集、分析、および報告が可能になります。 開発者は、IronPDFの柔軟なPDF生成機能をFiddlerCoreの強力なトラフィック監視および操作機能と組み合わせて利用することで、オンラインアプリのデバッグと最適化を効率的に行い、情報に富んだレポートを作成できます。 この組み合わせにより、Webアプリのインタラクションの可視性が向上し、包括的なドキュメンテーションと分析を可能にすることで、開発およびトラブルシューティングのプロセスを効率化します。

Webアプリケーション開発において、FiddlerCoreとIronPDFの組み合わせは、生産性とインサイトを大幅に向上させる、パフォーマンステスト、セキュリティチェック、フルトラフィック監視が必要な場合でも、完全な解決策を提供します。

IronPDFとIron Softwareの追加ライブラリを探索することで、PDFの生成、OCR、バーコードとの連携、Excelとのリンクなどを行い、高度な機能と効率的な開発を実現できます。初期価格は$799です。 これは、Iron Softwareの高度に適応性のあるシステムおよびスイートをコアサポートと組み合わせることによって実現されています。

開発者は、ライセンスオプションが明確でプロジェクトに適したものであれば、最適なモデルを選択するのが容易になります。 これらの利点を利用することで、開発者はさまざまな問題に対するソリューションを簡単に、成功裏に、首尾一貫して統合できるようになります。

よくある質問

.NETアプリケーションでHTTP/HTTPSトラフィックをキャプチャする方法は?

.NETアプリケーションでHTTP/HTTPSトラフィックをキャプチャするには、FiddlerCoreを使用できます。FiddlerCoreを統合することで、ウェブトラフィックの監視、ログ記録、操作が可能になり、デバッグやテストの目的で包括的な制御を得ることができます。

ウェブ開発でFiddlerCoreを使用する利点は何ですか?

FiddlerCoreは、HTTP/HTTPSトラフィックのキャプチャ、詳細な検査、動的な操作といった機能を提供することで、ウェブ開発を強化します。これにより、デバッグ、テスト、およびウェブの相互作用の最適化が可能になり、安全性のテストやパフォーマンス分析の向上にも役立ちます。

ウェブトラフィックデータからPDFレポートを生成する方法は?

IronPDFを使用することで、キャプチャしたウェブトラフィックデータをPDFレポートに変換できます。IronPDFを使用すると、HTML、CSS、JavaScriptを高品質のPDFに変換することによって構造化されたドキュメントを作成でき、分析や文書化に利用できます。

.NETプロジェクトでFiddlerCoreをセットアップするプロセスは?

.NETプロジェクトでFiddlerCoreをセットアップするには、FiddlerCore NuGetパッケージをインストールし、適切なスタートアップ設定で構成する必要があります。この構成により、アプリケーションで必要に応じてネットワークトラフィックをキャプチャおよび操作できます。

FiddlerCoreはセキュリティテストに使用できますか?

はい、FiddlerCoreはセキュリティテストに効果的に使用できます。セキュアな通信を復号化して分析し、脆弱性を特定し、詳細なトラフィック検査を通じてアプリケーションのセキュリティを強化するのに役立ちます。

IronPDFはPDF操作にどのような機能を提供しますか?

IronPDFは、HTMLからPDFを作成する、テキストや画像を追加する、PDFをマージおよび分割する、注釈や透かしを追加するといったPDF操作のための多数の機能を提供します。それは.NETアプリケーションでPDFドキュメントを管理するための包括的なツールです。

ネットワークトラフィックキャプチャとPDF生成をどのように統合できますか?

FiddlerCoreを使用してウェブトラフィックを監視およびログ記録し、IronPDFを使用してキャプチャしたデータを詳細なPDFレポートに変換することにより、ネットワークトラフィックキャプチャとPDF生成を統合できます。この統合は、デバッグおよび文書化のための完全な機能を提供します。

FiddlerCoreで利用可能な設定オプションは何ですか?

FiddlerCoreは、リスニングポートの設定、SSLの復号化の有効化、リモートクライアントの許可などの複数の設定オプションを提供します。これらのオプションは、FiddlerCoreStartupSettingsBuilderを使用してカスタマイズし、トラフィックキャプチャと操作をニーズに合わせることができます。

FiddlerCoreとIronPDFを組み合わせることは、ウェブ開発者にどのようなメリットをもたらしますか?

FiddlerCoreとIronPDFを組み合わせることは、デバッグプロセスを合理化し、ドキュメント管理機能を強化することで、ウェブ開発者にメリットをもたらします。この統合は、トラフィックの監視、デバッグ、報告をサポートし、開発ワークフローを改善し、包括的な文書化を可能にします。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。