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
- Analisa método, cabeçalhos, corpo e autenticação básica
- Coloca o Content-Type no StringContent, onde o .NET exige
- Converte as credenciais -u em um AuthenticationHeaderValue
- Verbos fora do padrão pelo construtor de HttpMethod
- Diretivas using conforme o que a requisição precisa
- Escapa corpos JSON como literais válidos de C#
Como usar cURL para C#
- Cole o comando curl com cabeçalhos e corpo
- Leia o C# gerado: ele aparece conforme você digita
- Copie ou baixe o Program.cs
- 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
- Definir o Content-Type lança InvalidOperationException. — No .NET é um cabeçalho de conteúdo: precisa ir no HttpContent, como faz o código gerado.
- A requisição funciona no curl e devolve 401 em C#. — Veja como chegam as credenciais: -u vira um cabeçalho básico em base64, e um token colado com quebra de linha falha.
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
- cURL para Fetch — Converta um comando curl em uma chamada fetch() de JavaScript.
- curl para Python — Converta um comando curl em um script Python com a biblioteca requests.
- cURL para Java — Converte um comando curl em código Java com HttpClient.
- curl para Go — Converta um comando curl em código Go usando o pacote net/http.
- curl para Node.js — Converta um comando curl em uma requisição Node.js com axios.
- Cliente de API — Envie requisições HTTP, monte cabeçalhos e parâmetros e inspecione respostas; salva as últimas 25.
Todas as ferramentas de ArrayKit