Конвертировать curl в C#

Конвертируйте команды curl в код C# с помощью HttpClient. curl2code работает полностью в вашем браузере через WebAssembly — ваши данные остаются конфиденциальными. Для разработки на Java попробуйте наш конвертер curl в Java. Для TypeScript см. curl в TypeScript. Ниже приведены готовые примеры на C#.

Как скопировать curl из браузера

  1. 1

    Откройте DevTools

    Нажмите F12 или Ctrl+Shift+I, чтобы открыть инструменты разработчика в браузере.

  2. 2

    Перейдите на вкладку Network

    Нажмите на вкладку Network и выполните действие, которое инициирует HTTP-запрос.

  3. 3

    Скопируйте как cURL

    Нажмите правой кнопкой мыши на запрос → CopyCopy as cURL. Затем вставьте его выше.

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

Что такое C# HttpClient?

HttpClient — это современный встроенный HTTP-клиент в .NET. Он нативно поддерживает async/await, HTTP/2, автоматическую декомпрессию и пул соединений. Используйте один экземпляр HttpClient (или IHttpClientFactory) во всем приложении, чтобы избежать исчерпания сокетов. Это стандартная и единственная библиотека, которую curl2code использует для конвертации в C#.

HttpClient против WebClient против HttpWebRequest — что использовать?

HttpClient — это современный стандарт, всегда используйте его для новых проектов .NET. WebClient и HttpWebRequest являются устаревшими и не должны использоваться в новом коде. HttpClient обеспечивает поддержку асинхронности, лучшую производительность и более чистый API. Для аналогичных современных клиентов см. curl в Java или curl в Go.

Как обрабатывать аутентификацию в C#?

Установите заголовок: client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token). Для Basic-аутентификации закодируйте учетные данные и установите заголовок. Аутентификация для конкретного запроса использует request.Headers.Authorization. curl2code обнаруживает -u и -H 'Authorization' и генерирует правильный код C#.

Как отправить multipart form data в C#?

Используйте MultipartFormDataContent: добавьте StringContent для полей и StreamContent с ContentDisposition для файлов. Передайте multipart-контент в PostAsync(url, content). Граница Content-Type устанавливается автоматически. curl2code конвертирует флаги -F в этот паттерн.

Как обрабатывать ошибки HTTP в C#?

Вызывайте response.EnsureSuccessStatusCode(), чтобы выбросить HttpRequestException при статусе, отличном от 2xx. Или проверяйте response.IsSuccessStatusCode и response.StatusCode вручную. Оборачивайте в try/catch для HttpRequestException, TaskCanceledException (таймаут) и OperationCanceledException.

Как использовать async/await с HttpClient?

HttpClient асинхронен по дизайну — все методы возвращают Task: var response = await client.GetAsync(url). Используйте await response.Content.ReadAsStringAsync() для тела. Для параллельных запросов используйте Task.WhenAll(). Никогда не используйте .Result или .Wait() — они могут вызвать взаимную блокировку (deadlock). Аналогичные асинхронные паттерны см. в curl в TypeScript.

Как установить таймауты в C# HttpClient?

Установите client.Timeout = TimeSpan.FromSeconds(30) для общего таймаута. Для контроля конкретного запроса используйте CancellationTokenSource с таймаутом: new CancellationTokenSource(TimeSpan.FromSeconds(10)). Для повторов используйте библиотеку Polly или IHttpClientFactory с политиками повторов.

Как настроить прокси в C#?

Создайте HttpClientHandler с прокси: handler.Proxy = new WebProxy("http://proxy:8080"). Передайте обработчик в new HttpClient(handler). Чтобы обходить прокси для локальных адресов, установите handler.Proxy.BypassProxyOnLocal = true. curl2code конвертирует флаги -x и --proxy в эту настройку.

Как отправить POST-запрос с телом JSON на C#?

Преобразуйте команду curl POST, такую как curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL, в C# с помощью curl2code. Сгенерированный код использует new StringContent(json, Encoding.UTF8, 'application/json'). curl2code автоматически обнаруживает флаги -d/--data с содержимым JSON и устанавливает соответствующий заголовок Content-Type в коде HttpClient.

Как добавить авторизацию через Bearer token на C#?

Передайте curl -H "Authorization: Bearer YOUR_TOKEN" URL в curl2code, и инструмент сгенерирует код HttpClient с заголовком авторизации: client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue('Bearer', token). curl2code распознает Bearer tokens как в флагах -H "Authorization: Bearer ...", так и в --oauth2-bearer. Для Basic auth используйте -u user:pass.

Как установить заголовок Content-Type на C#?

curl2code преобразует curl -H "Content-Type: application/json" URL в код HttpClient с правильным заголовком: new StringContent(json, Encoding.UTF8, 'application/json'). Для данных -d curl по умолчанию использует application/x-www-form-urlencoded; для загрузки форм -F используется multipart/form-data. curl2code сопоставляет каждый вариант с подходящим API HttpClient.

Полезные ссылки

Руководства по curl

Конвертировать curl в другие языки