Конвертировать curl в C#
Конвертируйте команды curl в код C# с помощью HttpClient. curl2code работает полностью в вашем браузере через WebAssembly — ваши данные остаются конфиденциальными. Для разработки на Java попробуйте наш конвертер curl в Java. Для TypeScript см. curl в TypeScript. Ниже приведены готовые примеры на C#.
Как скопировать curl из браузера
- 1
Откройте DevTools
Нажмите F12 или Ctrl+Shift+I, чтобы открыть инструменты разработчика в браузере.
- 2
Перейдите на вкладку Network
Нажмите на вкладку Network и выполните действие, которое инициирует HTTP-запрос.
- 3
Скопируйте как cURL
Нажмите правой кнопкой мыши на запрос → Copy → Copy 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.