cURL para C#

Cole um comando curl e receba código C# com HttpClient, com os cabeçalhos onde o .NET espera.

cURL para C# funciona inteiramente no seu navegador: os comandos colados, incluindo tokens, são convertidos no seu dispositivo e nunca são enviados.

Abrir cURL para Java

Sobre cURL para C#

Copiar um comando curl da documentação de uma API e reescrever em C# é uma tarefa pequena que falha sempre no mesmo ponto: o .NET separa os cabeçalhos entre a requisição e o conteúdo. Content-Type pertence ao HttpContent, não ao HttpRequestMessage, e colocar no objeto errado lança uma exceção em tempo de execução em vez de falhar na compilação. Este conversor analisa os parâmetros do curl — método, cabeçalhos, corpo e o -u que vira autenticação básica — e gera um programa com HttpClient com cada cabeçalho no lugar certo.

Recursos

Como usar cURL para C#

  1. Cole o comando curl com cabeçalhos e corpo
  2. Leia o C# gerado: ele aparece conforme você digita
  3. Copie ou baixe o Program.cs
  4. Confira os avisos sobre parâmetros não traduzidos

Exemplo

Entrada

curl -X POST https://api.example.com/users -H "Content-Type: application/json" -d '{"name":"Ada"}'

Saída

request.Content = new StringContent(
    "{\"name\":\"Ada\"}",
    Encoding.UTF8,
    "application/json");

O tipo de conteúdo vai para o StringContent, não para request.Headers: esse é o erro que gera exceção em execução.

Erros comuns e solução de problemas

Perguntas frequentes

Como converter um comando curl em C#?
Cole acima: método, URL, cabeçalhos e corpo são analisados e gerados como um programa com HttpClient.
Por que não posso definir Content-Type no HttpRequestMessage?
Porque o .NET separa cabeçalhos de requisição e de conteúdo, e Content-Type é de conteúdo: colocá-lo em request.Headers lança exceção.
Como enviar autenticação básica em C#?
Codifique usuário:senha em base64 e coloque como AuthenticationHeaderValue com o esquema Basic em DefaultRequestHeaders.
Meu comando curl é enviado para algum lugar?
Não. Ele é analisado e convertido no seu navegador, então os tokens e chaves ficam no seu dispositivo.

Ferramentas relacionadas

Todas as ferramentas de ArrayKit