IRONSOFTWAREHOME
GELIŞTIRICI GÜNCELLEMELERI

.NET'te Microsoft.Extensions.AI ile LLM Entegrasyonunu Basitleştirme

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Jacob Mellor
Updated: 23 Nisan 2026

Hızlı komut satırı araç skriptleri ile sağlam .NET kodu arasında köprü kurarken, sürtünme genellikle çalışan bir cURL komutu C# içinde doğru bir HTTP isteğine dönüştürmekte yatar. Jacob Mellor, .NET ekosistemine cURL'in aşinalığını getirmek için oluşturulmuş bir kütüphane olan CurlDotNet ile bu boşluğu doldurmuştur.

Bu aracı Iron Software ürünleri IronPDF veya IronXL gibi ürünlerle birleştirerek karmaşık API çağrıları yoluyla veri alıp profesyonel raporlar oluşturabilecek güçlü hatlar oluşturabilirsiniz. Bu yazıda bu araçların projelerinizi bir sonraki seviyeye taşırken nasıl birlikte çalışabileceğiyle ilgili bazı örneklere bakacağız.

CurlDotNet Nedir?

CurlDotNet, endüstri standardı curl aracının saf C# .NET uygulamasıdır. Yerel bağımlılıklara veya libcurl'e dayanan sarmalayıcıların aksine, bu kütüphane, Windows, Linux, macOS ve daha fazla platform için %100 yönetilen bir çözüm sunar. API dokümanlarından bir komutun bash kopyasını doğrudan kodunuza yapıştırmanıza olanak tanıyarak, standart müşteriye aynı davranışı sağlar.

Hızlı Başlangıç ve Yükleme

Başlamak için, proje dizininizde şu komutu çalıştırmanız yeterlidir:

dotnet paket ekle curldotnet
Text

Bu, CurlDotNet paketini kurar ve HttpClient yapılandırmasının getirdiği ek yük olmadan web isteklerini yönetmek için kullanıma hazır tariflere erişim sağlar.

Curl-.NET Curl Komutlarını Kullanma

Kütüphane, dize değer komutlarını ayrıştırmada mükemmeldir. GitHub API sayfası veya dahili belgelerden çalışan bir curl https dizesine sahipseniz, doğrudan çalıştırabilirsiniz.

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 Kodu Curl .NET Çıkışı

İlk Curl .NET komutumuz için çıktı

Yapısal bir yaklaşımı tercih edenler için, akıcı oluşturucu, başlıkları, curl seçeneklerini ve erişim tokenlerini ayarlamak için temiz bir API sağlar.

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

Bu esneklik, TLS el sıkışma mekaniği, hız sınırlaması ve hata işlemesini içsel olarak ele alır ve curl çalıştırılabilir dosyasının varsayılan davranışını taklit eder.

Iron Software ile .NET Çerçevesinde Entegrasyon

CurlDotNet'in çıktısını Iron Software araçlarına yönlendirdiğinizde gerçek güç ortaya çıkar. CurlDotNet, taşıma katmanını (JSON, dosyalar veya HTML alma) işlediğinden, Iron Software ürünleri bu içeriği işlemeye odaklanabilir.

Senaryo: API Verilerinden PDF Raporları Oluşturma

Güvenli bir URL'den kullanıcı verilerini indirip, bir PDF raporu oluşturmanız gerektiğini hayal edin. API, HttpClient ile çoğaltılması zor ama curl komutuyla kolay olan bir bash imzası gerektirir.

Adım 1: Curl-.NET ile Veri Alma

// 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;

Adım 2: IronPDF ile PDF Üretin

IronPDF, HTML, CSS, JavaScript ve görüntüleri yüksek kaliteli PDF belgelerine dönüştürmek için tasarlanmış güçlü bir kütüphanedir. Modern web standartları için tam destek sağlar ve başlıklar eklemek ve belirli render ayarlarını yapmak gibi özellikler içerir.

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");

Çıktı

CurlDotNet ve IronPDF kullanarak PDF'ye dönüştürülen test web sitesi

Senaryo: JSON'u Excel'e Aktarma

Uygulamanız bir JSON akışını tüketiyorsa, CurlDotNet'in test yeteneklerini kullanarak alınabilir ve IronXL kullanarak aktarılabilir.

Adım 1: Curl-.NET ile JSON Verisi Alma

Temiz bir .NET kodu için akıcı oluşturucuyu kullanarak JSON akışını alın:

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;

Adım 2: IronXL kullanarak Excel'e Yükleyin ve Dışa Aktarın

IronXL, okuma, yazma ve Excel dosya formatlarını işleme (.xlsx, .xls, .csv) tüm yönleriyle ilgilenmek için tasarlanmış kapsamlı bir .NET kütüphanesidir. Özellikle, bu işlevi, sunucu veya istemci makinesinde Microsoft Office yüklü olmadan gerçekleştirir, bu da onu çapraz platform Linux ve CI CD ortamları için ideal hale getirir. Öne çıkan özellikler arasında grafik oluşturma, formüller uygulama ve hücreleri biçimlendirme desteği yer alır.

Şimdi bir dize içinde ham JSON verileri ile, IronXL kullanılarak ayrıştırılabilir ve bir elektronik tablo oluşturulabilir.

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)}");

Çıktı Excel Dosyası

CurlDotNet ve IronExcel ile oluşturulmuş Excel dosyası

Bu Kombinasyon Neden Bu Kadar İyi?

  1. Platformlar Arası Tutarlılık: Hem CurlDotNet hem de Iron Software ürünleri Windows, Linux ve macOS'u destekler. Bu, Microsoft Azure veya AWS Lambda gibi çalıştırma ortamlarında çalışan CI CD hatları için kritiktir.

  2. Kod Oluşturma: Geliştiriciler genellikle bash veya kabuk formatında kod oluşturma parçaları alır. curl-.NET, bu kod parçacıklarını doğrudan kullanmanıza izin verirken, Iron Software belge manipülasyonunun ağır işlerini üstlenir.

  3. Yerli Bağımlılıklar Yok: CurlDotNet, saf bir C# uygulaması olduğu için, farklı işletim sistemi sürümlerinde harici C++ kütüphaneleri veya libcurl bağımlılıklarının bağlanmasıyla ilgili yaygın sorunlardan kaçınırsınız.

Sonuç

Jacob Mellor, .NET topluluğu için hayati bir araç sağlamıştır. Geliştiricilerin .NET Framework ve Core uygulamalarında tanıdık curl seçeneklerini kullanmalarına olanak tanıyarak CurlDotNet, HTTP istek sürecini basitleştirir. Iron Software ile eşleştirildiğinde, sorunsuz bir iş akışı oluşturabilirsiniz: curl hassasiyetiyle veri alın ve IronPDF veya IronXL gücüyle işleyin.

Sorunlar yaşarsanız, tüm kullanıcılar için desteği iyileştirmek amacıyla GitHub sayfasında hataları bildirdiğinizden emin olun.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ve NASA, Tesla ve dünya genelindeki devlet kurumlarına hizmet etmektedir.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez