המרת 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 המודרני והמובנה ב-NET. הוא תומך ב-async/await באופן טבעי, ב-HTTP/2, בדחיסה אוטומטית ובמאגר חיבורים. השתמש במופע יחיד של HttpClient (או ב-IHttpClientFactory) לאורך כל האפליקציה שלך כדי למנוע מיצוי של sockets. זוהי ספריית ברירת המחדל והיחידה ש-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 data) ב-#C?

השתמש ב-MultipartFormDataContent: הוסף StringContent עבור שדות ו-StreamContent עם ContentDisposition עבור קבצים. העבר את תוכן ה-multipart ל-PostAsync(url, content). הגבול (boundary) של ה-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 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 ממפה כל אחד מהם ל-API הנכון של HttpClient.

קישורים שימושיים

מדריכי curl

המרת curl לשפות אחרות