Конвертувати 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 дані форми в 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() — вони можуть спричинити взаємоблокування (deadlocks). Для подібних асинхронних шаблонів дивіться 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-токена у C#?
Передайте curl -H "Authorization: Bearer YOUR_TOKEN" URL у curl2code, і він згенерує код HttpClient із заголовком авторизації: client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue('Bearer', token). curl2code виявляє Bearer-токени як у прапорцях -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 зіставляє кожен варіант із правильним HttpClient API.
Корисні посилання
Посібники з curl
Коди помилок curl
Знайдіть будь-який код завершення curl — причини, виправлення та поради з налагодження.
Завантаження файлів за допомогою curl
Зберігайте файли з -o, -O, слідкуйте за перенаправленнями, відновлюйте завантаження та інше.
SSL, TLS та проксі
Налаштування сертифікатів, версій TLS, HTTP/SOCKS-проксі та власного DNS.