Convertir curl a C#

Convierta comandos curl a código C# utilizando HttpClient. curl2code se ejecuta completamente en su navegador a través de WebAssembly; sus datos permanecen privados. Para desarrollo en Java, pruebe nuestro conversor de curl a Java. Para TypeScript, vea curl a TypeScript. A continuación se muestran ejemplos de C# listos para usar.

Cómo copiar curl desde su navegador

  1. 1

    Abrir DevTools

    Presione F12 o Ctrl+Shift+I para abrir las herramientas de desarrollo de su navegador.

  2. 2

    Vaya a la pestaña Network

    Haga clic en la pestaña Network y realice la acción que activa la solicitud HTTP.

  3. 3

    Copiar como cURL

    Haga clic derecho en la solicitud → CopyCopy as cURL. Luego péguelo arriba.

Preguntas frecuentes

¿Qué es C# HttpClient?

HttpClient es el cliente HTTP moderno e integrado en .NET. Admite async/await de forma nativa, HTTP/2, descompresión automática y agrupación de conexiones. Usa una única instancia de HttpClient (o IHttpClientFactory) en toda tu aplicación para evitar el agotamiento de sockets. Es la biblioteca predeterminada y única que curl2code utiliza para las conversiones de C#.

HttpClient vs WebClient vs HttpWebRequest — ¿cuál usar?

HttpClient es el estándar moderno; úsalo siempre para nuevos proyectos de .NET. WebClient y HttpWebRequest son heredados y no deben usarse en código nuevo. HttpClient proporciona soporte asíncrono, mejor rendimiento y una API más limpia. Para clientes modernos similares, consulta curl a Java o curl a Go.

¿Cómo manejar la autenticación en C#?

Establece el encabezado: client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token). Para la autenticación Basic, codifica las credenciales y establece el encabezado. La autenticación por solicitud usa request.Headers.Authorization. curl2code detecta -u y -H 'Authorization' y genera el código C# correcto.

¿Cómo enviar datos de formulario multipart en C#?

Usa MultipartFormDataContent: añade StringContent para los campos y StreamContent con ContentDisposition para los archivos. Pasa el contenido multipart a PostAsync(url, content). El límite de Content-Type se establece automáticamente. curl2code convierte las etiquetas -F a este patrón.

¿Cómo manejar errores HTTP en C#?

Llama a response.EnsureSuccessStatusCode() para lanzar HttpRequestException en estados que no sean 2xx. O comprueba response.IsSuccessStatusCode y response.StatusCode manualmente. Envuelve en try/catch para HttpRequestException, TaskCanceledException (tiempo de espera) y OperationCanceledException.

¿Cómo usar async/await con HttpClient?

HttpClient es asíncrono por diseño; todos los métodos devuelven Task: var response = await client.GetAsync(url). Usa await response.Content.ReadAsStringAsync() para el cuerpo. Para solicitudes en paralelo, usa Task.WhenAll(). Nunca uses .Result o .Wait(); pueden causar bloqueos (deadlocks). Para patrones asíncronos similares, consulta curl a TypeScript.

¿Cómo establecer tiempos de espera en C# HttpClient?

Establece client.Timeout = TimeSpan.FromSeconds(30) para el tiempo de espera global. Para el control por solicitud, usa CancellationTokenSource con un tiempo de espera: new CancellationTokenSource(TimeSpan.FromSeconds(10)). Para reintentos, usa la biblioteca Polly o IHttpClientFactory con políticas de reintento.

¿Cómo configurar un proxy en C#?

Crea un HttpClientHandler con proxy: handler.Proxy = new WebProxy("http://proxy:8080"). Pasa el controlador a new HttpClient(handler). Para omitir el proxy para direcciones locales, establece handler.Proxy.BypassProxyOnLocal = true. curl2code convierte las etiquetas -x y --proxy a esta configuración.

¿Cómo enviar una solicitud POST con un cuerpo JSON en C#?

Convierte un comando curl POST como curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL a C# usando curl2code. El código generado utiliza new StringContent(json, Encoding.UTF8, 'application/json'). curl2code detecta automáticamente los flags -d/--data con contenido JSON y establece el encabezado Content-Type adecuado en el código de HttpClient.

¿Cómo añadir autorización con token Bearer en C#?

Pasa curl -H "Authorization: Bearer YOUR_TOKEN" URL a curl2code y este generará código de HttpClient con el encabezado de autorización: client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue('Bearer', token). curl2code detecta tokens Bearer tanto en los flags -H "Authorization: Bearer ..." como en --oauth2-bearer. Para Basic auth, utiliza -u user:pass.

¿Cómo configurar el encabezado Content-Type en C#?

curl2code convierte curl -H "Content-Type: application/json" URL a código de HttpClient con el encabezado correcto: new StringContent(json, Encoding.UTF8, 'application/json'). Para los datos de -d, curl utiliza por defecto application/x-www-form-urlencoded; para subidas de formularios con -F, utiliza multipart/form-data. curl2code mapea cada uno a la API de HttpClient correcta.

Enlaces útiles

Guías de curl

Convertir curl a otros lenguajes