cURL → HttpClient
Convert any curl command into idiomatic C# HttpClient code
Recommended. Pooled clients, no socket exhaustion.
cURL Input
C# Output
using System.Net.Http.Headers;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using System;
// Add to Program.cs (DI registration):
// builder.Services.AddHttpClient("api", c =>
// {
// c.BaseAddress = new Uri("https://api.example.com");
// });
public static async Task<string> PostUsersAsync(IHttpClientFactory httpClientFactory, CancellationToken cancellationToken = default)
{
var client = httpClientFactory.CreateClient("api");
using var request = new HttpRequestMessage(HttpMethod.Post, "/users");
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", "your-token");
// Content-Type is set on the request content (see Content below)
var json = """
{"name":"Alice","email":"[email protected]"}
""";
request.Content = new StringContent(json, Encoding.UTF8, "application/json");
using var response = await client.SendAsync(request, cancellationToken);
response.EnsureSuccessStatusCode();
return await response.Content.ReadAsStringAsync(cancellationToken);
}