Конвертиране на 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 данни в 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"). Предайте handler-а на 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 токени както от -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.