แปลง 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 จากนั้นนำมาวางด้านบน

คำถามที่พบบ่อย (FAQ)

C# HttpClient คืออะไร?

HttpClient เป็น HTTP client สมัยใหม่ในตัวของ .NET รองรับ async/await ในตัว, HTTP/2, การคลายการบีบอัดอัตโนมัติ และ connection pooling ควรใช้อินสแตนซ์ HttpClient เดียว (หรือ IHttpClientFactory) ตลอดทั้งแอปพลิเคชันเพื่อหลีกเลี่ยงปัญหา socket exhaustion เป็นไลบรารีเริ่มต้นและไลบรารีเดียวที่ curl2code ใช้สำหรับการแปลง C#

HttpClient เทียบกับ WebClient เทียบกับ HttpWebRequest — ควรใช้อันไหน?

HttpClient คือมาตรฐานสมัยใหม่ — ควรใช้เสมอสำหรับโปรเจกต์ .NET ใหม่ ส่วน WebClient และ HttpWebRequest เป็นแบบเก่าและไม่ควรใช้ในโค้ดใหม่ HttpClient ให้การรองรับ async, ประสิทธิภาพที่ดีกว่า และ API ที่สะอาดกว่า สำหรับ client สมัยใหม่ที่คล้ายกัน โปรดดู curl เป็น Java หรือ curl เป็น Go

จะจัดการการยืนยันตัวตนใน C# อย่างไร?

ตั้งค่า header: client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token) สำหรับการยืนยันตัวตนแบบ Basic ให้เข้ารหัสข้อมูลประจำตัวและตั้งค่า header สำหรับการยืนยันตัวตนต่อ request ให้ใช้ request.Headers.Authorization โดย curl2code จะตรวจจับ -u และ -H 'Authorization' และสร้างโค้ด C# ที่ถูกต้อง

จะส่งข้อมูลฟอร์มแบบ multipart ใน C# อย่างไร?

ใช้ MultipartFormDataContent: เพิ่ม StringContent สำหรับฟิลด์ และ StreamContent พร้อม ContentDisposition สำหรับไฟล์ ส่งเนื้อหา multipart ไปยัง PostAsync(url, content) โดย Content-Type boundary จะถูกตั้งค่าโดยอัตโนมัติ curl2code จะแปลงแฟล็ก -F เป็นรูปแบบนี้

จะจัดการข้อผิดพลาด HTTP ใน C# อย่างไร?

เรียก response.EnsureSuccessStatusCode() เพื่อ throw HttpRequestException เมื่อสถานะไม่ใช่ 2xx หรือตรวจสอบ response.IsSuccessStatusCode และ response.StatusCode ด้วยตนเอง ครอบด้วย try/catch สำหรับ HttpRequestException, TaskCanceledException (timeout) และ OperationCanceledException

จะใช้ async/await กับ HttpClient อย่างไร?

HttpClient ถูกออกแบบมาให้เป็น async — ทุกเมธอดจะคืนค่าเป็น Task: var response = await client.GetAsync(url) ใช้ await response.Content.ReadAsStringAsync() สำหรับ body สำหรับ requests แบบขนาน ให้ใช้ Task.WhenAll() ห้ามใช้ .Result หรือ .Wait() เพราะอาจทำให้เกิด deadlocks สำหรับรูปแบบ async ที่คล้ายกัน โปรดดู curl เป็น TypeScript

จะตั้งค่า timeouts ใน C# HttpClient อย่างไร?

ตั้งค่า client.Timeout = TimeSpan.FromSeconds(30) สำหรับ timeout โดยรวม สำหรับการควบคุมต่อ request ให้ใช้ CancellationTokenSource พร้อม timeout: new CancellationTokenSource(TimeSpan.FromSeconds(10)) สำหรับการลองใหม่ ให้ใช้ไลบรารี Polly หรือ IHttpClientFactory พร้อมนโยบายการลองใหม่

จะกำหนดค่า proxy ใน C# อย่างไร?

สร้าง HttpClientHandler พร้อม proxy: handler.Proxy = new WebProxy("http://proxy:8080") ส่ง handler ไปยัง new HttpClient(handler) หากต้องการข้าม proxy สำหรับที่อยู่ภายในเครื่อง ให้ตั้งค่า handler.Proxy.BypassProxyOnLocal = true โดย curl2code จะแปลงแฟล็ก -x และ --proxy เป็นการตั้งค่านี้

วิธีส่งคำขอ POST พร้อม JSON body ใน 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 จะจับคู่แต่ละรายการเข้ากับ HttpClient API ที่ถูกต้อง

ลิงก์ที่มีประโยชน์

คู่มือ curl

แปลง curl เป็นภาษาอื่น