cURL в C#

Вставьте команду curl и получите код C# с HttpClient, где заголовки размещены так, как требует .NET.

Конвертер cURL в C# полностью работает в вашем браузере: вставленные команды вместе с токенами конвертируются на устройстве и не отправляются.

Открыть конвертер cURL в Java

Об инструменте cURL в C#

Перенос команды curl из документации API в C# — небольшая задача, которая почти всегда спотыкается в одном и том же месте: .NET разделяет заголовки между запросом и его содержимым. Content-Type принадлежит HttpContent, а не HttpRequestMessage, и его установка не на том объекте вызывает не ошибку компиляции, а исключение во время выполнения. Этот конвертер разбирает параметры curl — метод, заголовки, тело и флаг -u, превращающийся в базовую аутентификацию, — и создаёт программу на HttpClient, где каждый заголовок стоит на своём месте.

Возможности

Как использовать cURL в C#

  1. Вставьте команду curl с заголовками и телом
  2. Читайте сгенерированный код C# по мере ввода
  3. Скопируйте код или скачайте Program.cs
  4. Проверьте предупреждения о непереведённых флагах

Пример

Ввод

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

Результат

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

Тип содержимого передаётся в StringContent, а не в request.Headers — именно эта ошибка вызывает исключение во время выполнения.

Частые ошибки и устранение неполадок

Часто задаваемые вопросы

Как конвертировать команду curl в C#?
Вставьте её выше: метод, URL, заголовки и тело будут разобраны и выведены в виде программы на HttpClient.
Почему нельзя установить Content-Type на HttpRequestMessage?
Потому что .NET разделяет заголовки запроса и содержимого, а Content-Type относится к последним — установка на request.Headers вызывает исключение.
Как отправить базовую аутентификацию в C#?
Закодируйте user:password в base64 и установите как AuthenticationHeaderValue со схемой Basic в DefaultRequestHeaders.
Отправляется ли моя команда curl куда-либо?
Нет. Она разбирается и конвертируется в вашем браузере, поэтому токены и ключи в ней остаются на устройстве.

Связанные инструменты

Все инструменты ArrayKit