Конвертувати 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 дані форми в 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 в інші мови