Tukar curl ke C#

Tukar arahan curl kepada kod C# menggunakan HttpClient. curl2code berjalan sepenuhnya dalam pelayar anda melalui WebAssembly — data anda kekal peribadi. Untuk pembangunan Java, cuba penukar curl ke Java kami. Untuk TypeScript, lihat curl ke TypeScript. Di bawah adalah contoh C# yang sedia untuk digunakan.

Cara menyalin curl daripada pelayar anda

  1. 1

    Buka DevTools

    Tekan F12 atau Ctrl+Shift+I untuk membuka alat pembangun pelayar anda.

  2. 2

    Pergi ke tab Network

    Klik tab Network dan lakukan tindakan yang mencetuskan permintaan HTTP.

  3. 3

    Salin sebagai cURL

    Klik kanan pada permintaan → CopyCopy as cURL. Kemudian tampalkannya di atas.

Soalan Lazim

Apakah itu C# HttpClient?

HttpClient ialah klien HTTP moden terbina dalam .NET. Ia menyokong async/await secara asli, HTTP/2, penyahmampatan automatik, dan penyatuan sambungan. Gunakan satu instans HttpClient (atau IHttpClientFactory) di seluruh aplikasi anda untuk mengelakkan keletihan soket (socket exhaustion). Ia adalah pustaka lalai dan satu-satunya yang digunakan curl2code untuk penukaran C#.

HttpClient vs WebClient vs HttpWebRequest — yang mana patut digunakan?

HttpClient ialah standard moden — sentiasa gunakannya untuk projek .NET baharu. WebClient dan HttpWebRequest adalah legasi dan tidak sepatutnya digunakan dalam kod baharu. HttpClient menyediakan sokongan asinkron, prestasi yang lebih baik, dan API yang lebih bersih. Untuk klien moden yang serupa, lihat curl ke Java atau curl ke Go.

Bagaimana cara mengendalikan pengesahan dalam C#?

Tetapkan pengepala: client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token). Untuk pengesahan Basic, kodkan kelayakan dan tetapkan pengepala. Pengesahan bagi setiap permintaan menggunakan request.Headers.Authorization. curl2code mengesan -u dan -H 'Authorization' dan menghasilkan kod C# yang betul.

Bagaimana cara menghantar data borang multipart dalam C#?

Gunakan MultipartFormDataContent: tambah StringContent untuk medan dan StreamContent dengan ContentDisposition untuk fail. Hantar kandungan multipart kepada PostAsync(url, content). Sempadan Content-Type ditetapkan secara automatik. curl2code menukar bendera -F kepada corak ini.

Bagaimana cara mengendalikan ralat HTTP dalam C#?

Panggil response.EnsureSuccessStatusCode() untuk melemparkan HttpRequestException pada status bukan 2xx. Atau semak response.IsSuccessStatusCode dan response.StatusCode secara manual. Balut dalam try/catch untuk HttpRequestException, TaskCanceledException (had masa tamat), dan OperationCanceledException.

Bagaimana cara menggunakan async/await dengan HttpClient?

HttpClient direka bentuk secara asinkron — semua kaedah mengembalikan Task: var response = await client.GetAsync(url). Gunakan await response.Content.ReadAsStringAsync() untuk badan. Untuk permintaan selari, gunakan Task.WhenAll(). Jangan sekali-kali menggunakan .Result atau .Wait() — ia boleh menyebabkan kebuntuan (deadlocks). Untuk corak asinkron yang serupa, lihat curl ke TypeScript.

Bagaimana cara menetapkan had masa tamat dalam C# HttpClient?

Tetapkan client.Timeout = TimeSpan.FromSeconds(30) untuk had masa tamat keseluruhan. Untuk kawalan bagi setiap permintaan, gunakan CancellationTokenSource dengan had masa tamat: new CancellationTokenSource(TimeSpan.FromSeconds(10)). Untuk cubaan semula, gunakan pustaka Polly atau IHttpClientFactory dengan polisi cubaan semula.

Bagaimana cara mengkonfigurasi proksi dalam C#?

Cipta HttpClientHandler dengan proksi: handler.Proxy = new WebProxy("http://proxy:8080"). Hantar pengendali kepada new HttpClient(handler). Untuk memintas proksi bagi alamat tempatan, tetapkan handler.Proxy.BypassProxyOnLocal = true. curl2code menukar bendera -x dan --proxy kepada persediaan ini.

Bagaimana cara menghantar permintaan POST dengan badan JSON dalam C#?

Tukar perintah curl POST seperti curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL ke C# menggunakan curl2code. Kod yang dihasilkan menggunakan new StringContent(json, Encoding.UTF8, 'application/json'). curl2code mengesan bendera -d/--data secara automatik dengan kandungan JSON dan menetapkan pengepala Content-Type yang sesuai dalam kod HttpClient.

Bagaimana cara menambah kebenaran token Bearer dalam C#?

Masukkan curl -H "Authorization: Bearer YOUR_TOKEN" URL ke curl2code dan ia akan menghasilkan kod HttpClient dengan pengepala auth: client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue('Bearer', token). curl2code mengesan token Bearer daripada kedua-dua bendera -H "Authorization: Bearer ..." dan --oauth2-bearer. Untuk Basic auth, gunakan -u user:pass.

Bagaimana cara menetapkan pengepala Content-Type dalam C#?

curl2code menukar curl -H "Content-Type: application/json" URL kepada kod HttpClient dengan pengepala yang betul: new StringContent(json, Encoding.UTF8, 'application/json'). Untuk data -d, curl secara lalai menggunakan application/x-www-form-urlencoded; untuk muat naik borang -F, ia menggunakan multipart/form-data. curl2code memetakan setiap satu ke API HttpClient yang betul.

Pautan Berguna

Panduan curl

Tukar curl ke Bahasa Lain