IRONSOFTWAREHOME
開発者向けアップデート

Microsoft.Extensions.AIを使用した .NET での LLM 統合の簡素化

Jacob Mellor、Ironチームの最高技術責任者(CTO)
Jacob Mellor
Updated: 2026年4月23日

迅速なコマンドラインツールスクリプトと堅牢な.NETコードの間のギャップをナビゲートする開発者にとって、摩擦はしばしば、C#内で適切なHTTPリクエストに動作するcURLコマンドを翻訳することにあります。 Jacob Mellorは、CurlDotNetでこのギャップを埋めました。これは、.NETエコシステムにcURLの親しみやすさをもたらすために作成されたライブラリです。

IronPDFやIronXLのようなIron Software製品とこのツールを組み合わせることで、複雑なAPIコールを介してデータを取得し、すぐにプロフェッショナルなレポートを生成する強力なパイプラインを構築することができます。 この記事では、プロジェクトを次のレベルに引き上げるために、これらのツールが連携できるいくつかの例を見ていきます。

CurlDotNetとは

CurlDotNetは、業界標準のcurlツールの純粋なC# .NET実装です。 ネイティブの依存関係やlibcurlに依存するラッパーとは異なり、このライブラリは、Windows、Linux、macOSなどを完全にサポートする100%マネージドソリューションを提供します。 標準クライアントと同じ動作を保証し、APIドキュメントからコマンドのbashコピーをコードに直接貼り付けることができます。

クイック スタートとインストール

開始するには、プロジェクトディレクトリで次のコマンドを実行するだけです:

dotnet add パッケージ curldotnet
Text

この操作は、パッケージCurlDotNetをインストールし、HttpClientの設定をしなくてもウェブリクエストを処理するためのすぐに使えるレシピにアクセスすることを可能にします。

Curl-.NETのcurlコマンドを使用する

このライブラリは、文字列値コマンドの解析に優れています。 GitHub API ページや内部ドキュメントから、動作する curl https 文字列があれば、それを直接実行することができます。

using CurlDotNet;

// Simply copy-paste your shell command
var command = "curl -X GET https://api.github.com/users/jacob-mellor -H 'User-Agent: curl-dot-net'";
var result = await Curl.ExecuteAsync(command);
Console.WriteLine(result.Body);

.NETコードCurl .NET出力

私たちの最初のCurl .NETコマンドの出力

構造化されたアプローチを好む人のために、fluentビルダーは、ヘッダー、curlオプション、およびアクセストークンを設定するためのクリーンなAPIを提供します。

var response = await Curl.GetAsync("https://api.github.com/users/ironsoftware")
    .WithHeader("Authorization", "Bearer YOUR_TOKEN")
    .WithHeader("X-API-Key", "12345")
    .ExecuteAsync();

この柔軟性は、TLSハンドシェイクの仕組み、レート制限、エラー処理を内部的に処理し、curl実行ファイルのデフォルトの動作を模倣します。

.NET FrameworkでのIron Softwareとの統合

CurlDotNetの出力をIron Softwareツールにパイプすることで、真の力が発揮されます。 CurlDotNet はトランスポート層 (JSON、ファイル、または HTML の取得) を処理するため、 Iron Software製品はそのコンテンツの処理に集中できます。

シナリオAPIデータからPDFレポートを生成する

安全なURLからユーザーデータをダウンロードし、PDFレポートを作成する必要があるとします。 APIには特定のbashシグネチャが必要で、HttpClientで再現するのは困難ですが、curlコマンドなら簡単です。

ステップ1: Curl-.NETでデータを取得する

// Define the curl command string with all necessary headers (here we use an example test website)
string curlCmd = "curl https://www.w3.org/TR/html4/ -H 'X-API-Key: secure_key'";

// Execute the request
var result = await Curl.ExecuteAsync(curlCmd);

// Extract the content (assumed to be HTML for this scenario)
string htmlContent = result.Body;

ステップ2: IronPDFでPDFを生成する

IronPDFは、HTML、CSS、JavaScript、画像を忠実度の高いPDFドキュメントにレンダリングするために設計された強力なライブラリです。 最新のWeb標準を完全にサポートし、ヘッダー、フッターの追加、特定のレンダリングオプションの設定などの機能を含みます。

using IronPdf;

// Instantiate the renderer
var renderer = new ChromePdfRenderer();

// Convert the fetched HTML data to PDF
var pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Save the file to the output path
pdf.SaveAs("output.pdf");

出力

CurlDotNetとIronPDFを使用してPDFに変換されたテストウェブサイト

シナリオJSONをExcelにエクスポートする

アプリがJSONフィードを消費する場合、CurlDotNetのテスト機能を使用してフェッチし、IronXLを使用してエクスポートすることができます。

ステップ1: Curl-.NETでJSONデータを取得する

JSONフィードのフェッチには、クリーンな.NETコードのためのfluentビルダーを使用しています:

string testUrl = "https://jsonplaceholder.typicode.com/users";

Console.WriteLine($"Executing HTTP request to fetch JSON from: {testUrl}");
// Replace the CurlDotNet fluent builder usage with the correct async method
var response = await Curl.GetAsync(testUrl); // Use Curl.GetAsync() for async HTTP GET

string jsonBody = response.Body;

ステップ2: IronXLを使用してExcelにロードしてエクスポートする

IronXLは、読み込み、書き込み、およびExcelファイル形式(.xlsx、.xls、.csv)の操作のすべての側面を処理するように設計された包括的な.NETライブラリです。 重要なのは、サーバーやクライアントマシンにMicrosoft Officeをインストールする必要がないため、クロスプラットフォームのLinuxやCI CD環境に最適であることです。 主な機能には、グラフの作成、数式の適用、セルのスタイル設定などの完全なサポートが含まれます。

生のJSONデータが文字列になったので、IronXLを使用してそれを解析し、スプレッドシートを作成することができます。

var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
 var sheet = workbook.CreateWorkSheet("User Data");

 // 1. Deserialize the JSON string to a list of UserRecord objects
 Console.WriteLine("Deserializing JSON data...");
 var salesRecords = JsonConvert.DeserializeObject<List<UserRecord>>(jsonBody);

 // 2. Insert the data into the sheet using IronXL's SetCellValue method
 Console.WriteLine("Inserting data into Excel using IronXL...");

 // Write headers
 sheet.SetCellValue(0, 0, "id");
 sheet.SetCellValue(0, 1, "name");
 sheet.SetCellValue(0, 2, "username");
 sheet.SetCellValue(0, 3, "email");

 // Write data rows
 for (int i = 0; i < salesRecords.Count; i++)
 {
     var record = salesRecords[i];
     sheet.SetCellValue(i + 1, 0, record.id);
     sheet.SetCellValue(i + 1, 1, record.name);
     sheet.SetCellValue(i + 1, 2, record.username);
     sheet.SetCellValue(i + 1, 3, record.email);
 }

 // Save the Excel file
 string filePath = "UserReport.xlsx";
 workbook.SaveAs(filePath);

 Console.WriteLine($"\n Success! Excel report saved to: {Path.GetFullPath(filePath)}");

出力Excelファイル

CurlDotNetとIronExcelで作成されたExcelファイル

なぜこの組み合わせなのか?

  1. クロスプラットフォームの一貫性: CurlDotNetとIron Software製品の両方がWindows、Linux、macOSをサポートしています。 これは、Microsoft AzureやAWS Lambdaのようなランタイム環境で実行されるCI CDパイプラインにとって非常に重要です。

2.**コード生成:**開発者は、多くの場合、bash またはシェル形式でコード生成スニペットを取得します。 curl-.NETを使用すると、これらのスニペットを直接使用することができ、Iron Softwareはドキュメント操作の重負荷を処理します。

3.ネイティブ依存関係なし: CurlDotNet は純粋な C# 実装であるため、異なる OS バージョン上の外部 C++ ライブラリまたは libcurl バイナリのリンクに関連する一般的な問題を回避できます。

結論

.NETコミュニティにとって、Jacob Mellorは重要なツールを提供しています。 CurlDotNetは、.NET FrameworkやCoreアプリケーション内での馴染みのあるcurlオプションを使用できるようにすることで、HTTPリクエストプロセスを簡素化します。 Iron Softwareと組み合わせることで、シームレスなワークフローを作ることができます: curlの正確さでデータを取得し、IronPDFやIronXLのパワーで処理します。

問題が発生した場合は、GitHub ページにバグを報告して、すべてのユーザーのサポート向上に役立ててください。

Jacob Mellor、Ironチームの最高技術責任者(CTO)
最高技術責任者(CTO)

ジェイコブ・メラーはIron Softwareの最高技術責任者(CTO)であり、C# PDFテクノロジーを開拓する先見的なエンジニアです。Iron Softwareのコアコードベースを支えるオリジナル開発者として、彼は創業以来、会社の製品アーキテクチャを形成し、CEOのCameron Rimingtonとともに、会社をNASA、Tesla、および世界的な政府機関にサービスを提供する50人以上の会社に変えました。1999年にロンドンで最初のソフトウェアビジネスを開業し、2005年に最初 for .NETコンポーネントを作成した後、Microsoftのエコシステム全体で複雑な問題を解決することを専門としました。

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

OR
bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDF用C# NuGetライブラリ
NuGetでインストール

バージョン: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. ブラウズを選択し、"IronPDF"を検索
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

またはここからWindowsインストーラーをダウンロードする。

  1. IronPDFを~/Libsなどの場所に解凍し、ソリューションディレクトリ内に配置する
  2. Visual Studioソリューションエクスプローラーで参照を右クリックし、"IronPDF.dll"をブラウズして選択

ライセンスは$999から