Converter curl para C#

Converta comandos curl para código C# usando HttpClient. O curl2code é executado inteiramente no seu navegador via WebAssembly — seus dados permanecem privados. Para desenvolvimento Java, tente nosso conversor de curl para Java. Para TypeScript, veja curl para TypeScript. Abaixo estão exemplos de C# prontos para usar.

Como copiar o curl do seu navegador

  1. 1

    Abra o DevTools

    Pressione F12 ou Ctrl+Shift+I para abrir as ferramentas de desenvolvedor do seu navegador.

  2. 2

    Vá para a aba Network

    Clique na aba Network e realize a ação que dispara a requisição HTTP.

  3. 3

    Copiar como cURL

    Clique com o botão direito na requisição → CopyCopy as cURL. Depois cole acima.

Perguntas Frequentes

O que é o C# HttpClient?

O HttpClient é o cliente HTTP moderno e nativo do .NET. Ele suporta async/await nativamente, HTTP/2, descompressão automática e pooling de conexões. Use uma única instância de HttpClient (ou IHttpClientFactory) em toda a sua aplicação para evitar a exaustão de sockets. É a biblioteca padrão e única que o curl2code usa para conversões em C#.

HttpClient vs WebClient vs HttpWebRequest — qual usar?

HttpClient é o padrão moderno — sempre use-o para novos projetos .NET. WebClient e HttpWebRequest são legados e não devem ser usados em códigos novos. O HttpClient fornece suporte assíncrono, melhor desempenho e uma API mais limpa. Para clientes modernos semelhantes, veja curl para Java ou curl para Go.

Como lidar com autenticação em C#?

Defina o cabeçalho: client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token). Para autenticação Basic, codifique as credenciais e defina o cabeçalho. A autenticação por requisição usa request.Headers.Authorization. O curl2code detecta -u e -H 'Authorization' e gera o código C# correto.

Como enviar dados de formulário multipart em C#?

Use MultipartFormDataContent: adicione StringContent para campos e StreamContent com ContentDisposition para arquivos. Passe o conteúdo multipart para PostAsync(url, content). O boundary do Content-Type é definido automaticamente. O curl2code converte flags -F para este padrão.

Como lidar com erros HTTP em C#?

Chame response.EnsureSuccessStatusCode() para lançar HttpRequestException em status não-2xx. Ou verifique response.IsSuccessStatusCode e response.StatusCode manualmente. Envolva em try/catch para HttpRequestException, TaskCanceledException (timeout) e OperationCanceledException.

Como usar async/await com HttpClient?

O HttpClient é assíncrono por design — todos os métodos retornam Task: var response = await client.GetAsync(url). Use await response.Content.ReadAsStringAsync() para o corpo. Para requisições paralelas, use Task.WhenAll(). Nunca use .Result ou .Wait() — eles podem causar deadlocks. Para padrões assíncronos semelhantes, veja curl para TypeScript.

Como definir timeouts no C# HttpClient?

Defina client.Timeout = TimeSpan.FromSeconds(30) para o timeout geral. Para controle por requisição, use CancellationTokenSource com um timeout: new CancellationTokenSource(TimeSpan.FromSeconds(10)). Para retries, use a biblioteca Polly ou IHttpClientFactory com políticas de retry.

Como configurar um proxy em C#?

Crie um HttpClientHandler com proxy: handler.Proxy = new WebProxy("http://proxy:8080"). Passe o handler para new HttpClient(handler). Para ignorar o proxy em endereços locais, defina handler.Proxy.BypassProxyOnLocal = true. O curl2code converte as flags -x e --proxy para esta configuração.

Como enviar uma requisição POST com corpo JSON em C#?

Converta um comando curl POST como curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL para C# usando o curl2code. O código gerado usa new StringContent(json, Encoding.UTF8, 'application/json'). O curl2code detecta automaticamente as flags -d/--data com conteúdo JSON e define o cabeçalho Content-Type apropriado no código do HttpClient.

Como adicionar autorização com token Bearer em C#?

Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e ele gerará o código do HttpClient com o cabeçalho de autenticação: client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue('Bearer', token). O curl2code detecta tokens Bearer tanto de flags -H "Authorization: Bearer ..." quanto de --oauth2-bearer. Para Basic auth, use -u user:pass.

Como definir o cabeçalho Content-Type em C#?

O curl2code converte curl -H "Content-Type: application/json" URL para o código do HttpClient com o cabeçalho correto: new StringContent(json, Encoding.UTF8, 'application/json'). Para dados -d, o curl define por padrão application/x-www-form-urlencoded; para uploads de formulário com -F, ele usa multipart/form-data. O curl2code mapeia cada um para a API correta do HttpClient.

Links úteis

Guias do curl

Converter curl para outras linguagens