CurlDotNet

CurlDotNet.Core Namespace

Classes
CommandParser Parses curl command strings into CurlOptions, following curl's command-line syntax exactly. This parser is inspired by curl's tool_getparam.c which handles all parameter parsing. Supports all curl options including short forms (-X POST), long forms (--request POST), combined short options (-sS), option arguments, quote handling, and line continuations. The parser normalizes different shell syntaxes (bash, PowerShell, cmd, zsh) into a consistent format. Cross-Shell Compatibility: Paste curl commands from any shell and they work:... For curl option reference: https://curl.se/docs/manpage.html#OPTIONS
CurlEngine Core engine that processes and executes curl commands.
CurlFtpException FTP-specific exception.
CurlHttpException Exception for HTTP errors (4xx, 5xx status codes). Thrown by EnsureSuccess() when request fails:`...`
CurlOptions Represents parsed curl command options.
CurlRequestBuilder 🎨 Fluent Builder API - Build curl requests programmatically! For developers who prefer a fluent API over curl command strings. This builder lets you construct HTTP requests using method chaining, perfect for IntelliSense and compile-time checking. When to use Builder vs Curl String:... Quick Example:`...`
CurlResult 🎯 The response from your curl command - everything you need is here! After running any curl command, you get this object back. It has the status code, response body, headers, and helpful methods to work with the data. The API is designed to be intuitive - just type what you want to do:... Quick Example:`...`
CurlSettings Fluent builder for .NET-specific curl settings.
CurlTimings Detailed timing breakdown of the curl operation. See where time was spent (like curl -w):`...`
FileHandler Handler for file:// protocol.
FtpHandler Handler for FTP and FTPS protocols.
HttpHandler Handler for HTTP and HTTPS protocols.
ValidationResult Result of command validation.
Interfaces
ICommandParser Interface for parsing curl command strings into options.
IProtocolHandler Interface for protocol-specific handlers (HTTP, FTP, FILE, etc.).

About This Documentation

💎 Sponsored by IronSoftware - Enterprise .NET components trusted by thousands of developers worldwide.

✍️ Written by Jacob Mellor, CTO at IronSoftware.

📦 Get CurlDotNet: NuGet Package | GitHub Repository