แปลง 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 จากนั้นนำมาวางด้านบน
คำถามที่พบบ่อย (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 ที่ถูกต้อง