CurlDotNet 1.2.25

There is a newer version of this package available.
See the version list below for details.
dotnet add package CurlDotNet --version 1.2.25
                    
NuGet\Install-Package CurlDotNet -Version 1.2.25
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CurlDotNet" Version="1.2.25" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CurlDotNet" Version="1.2.25" />
                    
Directory.Packages.props
<PackageReference Include="CurlDotNet" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add CurlDotNet --version 1.2.25
                    
#r "nuget: CurlDotNet, 1.2.25"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package CurlDotNet@1.2.25
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=CurlDotNet&version=1.2.25
                    
Install as a Cake Addin
#tool nuget:?package=CurlDotNet&version=1.2.25
                    
Install as a Cake Tool

📚 CurlDotNet Documentation Hub

Welcome to CurlDotNet - the pure .NET implementation of curl that allows C# developers to execute curl commands directly in their applications!

✅ Latest Version: Fully supports .NET 10, .NET 9, and .NET 8 LTS

What is CurlDotNet?

CurlDotNet eliminates the friction of translating curl commands to C# code. Simply paste any curl command from API documentation, Stack Overflow, or bash scripts directly into your .NET application, and it works immediately.

Installation

Install CurlDotNet from NuGet: CurlDotNet on NuGet

dotnet add package CurlDotNet

Or via Package Manager:

Install-Package CurlDotNet

📊 Test Coverage & Performance

✅ 244 Tests - 100% Pass Rate - Rock-solid reliability with self-contained tests

  • Test Results: ✅ Passed: 244 | ❌ Failed: 0 | ⏭ Skipped: 0
  • Execution Time: ~33 seconds for full suite
  • Reliability: Tests use local HTTP servers - no external dependencies
  • Command parsing: 85+ tests
  • HTTP operations: 50+ tests
  • Integration tests: 25+ tests (with local test server)
  • Synthetic curl scenarios: 45+ tests
  • Error handling: 35+ tests
  • No Docker required - Tests run anywhere .NET runs

🚀 Quick Start Paths

🆕 Complete Beginner?

"I'm new to .NET and programming"

  1. Start here → What is .NET and C#?
  2. Then → Your First Request
  3. Next → Explore Recipes

💼 Experienced Developer?

"I know .NET, just show me how to use CurlDotNet"

  1. Jump to → Installation
  2. Check out → API Guide
  3. Browse → Cookbook

🔄 Migrating from Another Library?

"I'm switching from HttpClient/RestSharp/etc."

📖 Documentation Structure

🎓 Tutorials

Learn the basics in plain English

👨‍🍳 Cookbook

"How do I..." recipes

📘 API Guide

Complete API reference with examples

  • Every class and method documented
  • Multiple examples per feature
  • Best practices included
  • Explore API →

👨‍💻 Advanced Features

Advanced topics and techniques

  • Working with middleware
  • Custom HTTP clients
  • Performance optimization
  • Testing strategies

🎯 Common Tasks

Basic Operations

Authentication

Working with APIs

Advanced Features

🔍 Quick Reference

The Three Ways to Use CurlDotNet

1. String API (Simplest)
var result = await Curl.ExecuteAsync("curl https://api.example.com");
2. Builder API (Type-Safe)
var result = await new CurlRequestBuilder()
    .WithUrl("https://api.example.com")
    .WithHeader("Accept", "application/json")
    .ExecuteAsync();
3. LibCurl API (Reusable)
var curl = new LibCurl()
    .WithBearerToken("token123")
    .WithTimeout(TimeSpan.FromSeconds(30));

var result = await curl.GetAsync("https://api.example.com");

📚 Learning Paths

Path 1: Absolute Beginner

  1. What is .NET?
  2. What is curl?
  3. Understanding async/await
  4. Your first request
  5. API Guide
  6. Cookbook

Path 2: Web Developer

  1. Installation
  2. Cookbook
  3. API Guide
  4. Error handling
  5. API client patterns

Path 3: Enterprise Developer

  1. API Reference
  2. Error handling
  3. API Guide
  4. Troubleshooting
  5. Best practices

🆘 Getting Help

Can't Find Something?

Still Stuck?

📊 Quick Stats

  • 300+ curl options supported
  • 91 exception types for precise error handling
  • 100% pure .NET - no native dependencies
  • 95% test coverage
  • Works on .NET Framework 4.7.2+, .NET Core 2.0+, .NET 5-10

🎉 Welcome to CurlDotNet!

Ready to start? Choose your path above and let's begin making HTTP requests the easy way!


Documentation version: 1.0.1 | Last updated: November 2024

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
9.5.2 84 2/19/2026
9.5.1 78 2/13/2026
9.5.0 43 2/12/2026
9.4.1 58 2/12/2026
9.4.0 55 2/10/2026
9.3.3 62 2/8/2026
9.2.1 714 12/1/2025
9.2.0 461 12/1/2025
9.1.0 453 12/1/2025
9.0.0 461 12/1/2025
3.0.0 451 12/1/2025
1.3.5 452 12/1/2025
1.2.27 411 11/18/2025
1.2.25 358 11/18/2025
1.2.23 321 11/17/2025
1.2.15 285 11/17/2025
1.1.1 204 11/16/2025
1.1.0 211 11/16/2025
1.0.0 125 11/16/2025

Version 1.2.7 - Streamlined Repository Structure
🚀 Simplified deployment with single-script solution (deploy-simple.sh)
📋 Added comprehensive examples based on cookbook recipes
🔄 Implemented continuous delivery: every commit = new version
✅ Added version bump rule: all changes trigger releases
🛠️ New PR-based workflow: dev branch → PR → merge → auto-release
📝 Created CONTRIBUTING.md and DEPLOY.md for clear workflows
🧪 Added test-all-scripts.sh for local validation
💡 Philosophy: Spend 80% coding, 20% deploying (not vice versa)
💎 Sponsored by IronSoftware

Documentation: https://jacob-mellor.github.io/curl-dot-net/
Repository: https://github.com/jacob-mellor/curl-dot-net
NuGet: CurlDotNet