Converter curl para C#

Converta comandos curl para código C# utilizando HttpClient. O curl2code é executado inteiramente no seu navegador através de WebAssembly — os seus dados permanecem privados. Para desenvolvimento em Java, experimente o nosso conversor de curl para Java. Para TypeScript, veja curl para TypeScript. Abaixo encontram-se exemplos de C# prontos a usar.

Como copiar o curl do seu navegador

  1. 1

    Abrir as DevTools

    Prima F12 ou Ctrl+Shift+I para abrir as ferramentas de programador do seu navegador.

  2. 2

    Ir para o separador Network

    Clique no separador Network e realize a ação que despoleta o pedido HTTP.

  3. 3

    Copiar como cURL

    Clique com o botão direito no pedido → CopyCopy as cURL. Depois cole-o acima.

Perguntas Frequentes

O que é o HttpClient do C#?

O HttpClient é o cliente HTTP moderno e integrado no .NET. Suporta async/await nativamente, HTTP/2, descompressão automática e pooling de ligaçõ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 predefinida e única que o curl2code usa para conversões em C#.

HttpClient vs WebClient vs HttpWebRequest — qual usar?

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

Como gerir a 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 pedido usa request.Headers.Authorization. O curl2code deteta -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 ficheiros. Passe o conteúdo multipart para PostAsync(url, content). O limite de Content-Type é definido automaticamente. O curl2code converte as flags -F para este padrão.

Como gerir erros HTTP em C#?

Chame response.EnsureSuccessStatusCode() para lançar HttpRequestException em estados 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 o HttpClient?

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

Como definir timeouts no HttpClient do C#?

Defina client.Timeout = TimeSpan.FromSeconds(30) para o timeout global. Para controlo por pedido, use CancellationTokenSource com um timeout: new CancellationTokenSource(TimeSpan.FromSeconds(10)). Para tentativas, 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 para endereços locais, defina handler.Proxy.BypassProxyOnLocal = true. O curl2code converte as flags -x e --proxy para esta configuração.

Como enviar um pedido POST com um 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 utiliza new StringContent(json, Encoding.UTF8, 'application/json'). O curl2code deteta automaticamente as flags -d/--data com conteúdo JSON e define o cabeçalho Content-Type apropriado no código HttpClient.

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

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

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

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

Links Úteis

Guias do curl

Converter curl para Outras Linguagens