This directory contains comprehensive examples demonstrating how to use CurlDotNet effectively.
cd examples/CurlDotNet.Examples
dotnet runThe example project demonstrates:
- Hello World - Simplest GET request (5-minute quickstart)
- Direct curl commands - Paste any curl command directly
- Result object usage - Understanding the core response object
- JSON parsing - Parse responses to strongly-typed objects
- File downloads - Handle binary data and save to disk
- Error handling - Deal with failures gracefully
- Headers & status codes - Work with response metadata
- Fluent builder API - Build requests programmatically
- API client pattern - Simplified REST operations
- Extension methods - Ergonomic helper methods
Every CurlDotNet operation returns a CurlResult object:
// NuGet: https://www.nuget.org/packages/CurlDotNet/
using CurlDotNet;
var result = await Curl.GetAsync("https://api.example.com/data");
// Check success
if (result.IsSuccess) // 200-299 status codes
{
// Access the response
string body = result.Body;
int status = result.StatusCode;
var headers = result.Headers;
var elapsed = result.ElapsedTime;
}All extension methods are available with just using CurlDotNet;:
// Parse JSON
var data = result.ParseJson<MyType>();
// Save to file
result.SaveToFile("response.json");
// Get specific header
var contentType = result.GetHeader("Content-Type");
// Ensure success (throws if failed)
result.EnsureSuccessStatusCode();// Pattern 1: Check IsSuccess
if (!result.IsSuccess)
{
Console.WriteLine($"Failed: {result.StatusCode}");
}
// Pattern 2: Use EnsureSuccessStatusCode
try
{
result.EnsureSuccessStatusCode();
// Process success case
}
catch (CurlHttpException ex)
{
Console.WriteLine($"HTTP {ex.StatusCode}: {ex.Message}");
}dotnet run- Edit
CurlDotNet.Examples.csproj - Comment out the ProjectReference
- Uncomment the PackageReference
- Run
dotnet restorethendotnet run