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
Abra o DevTools
Pressione F12 ou Ctrl+Shift+I para abrir as ferramentas de desenvolvedor do seu navegador.
- 2
Vá para a aba Network
Clique na aba Network e realize a ação que dispara a requisição HTTP.
- 3
Copiar como cURL
Clique com o botão direito na requisição → Copy → Copy 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.