המרת curl ל-JavaScript
curl2code ממיר פקודות curl לקוד JavaScript באמצעות ה-API המובנה fetch. הכל רץ מקומית בדפדפן שלך דרך WebAssembly לפרטיות מלאה. אם אתה זקוק לקוד Node.js בצד השרת, נסה את ממיר curl ל-Node.js. עבור בטיחות טיפוסים (type safety), בדוק את ממיר curl ל-TypeScript. להלן דוגמאות מעשיות לתבניות HTTP נפוצות.
איך להעתיק curl מהדפדפן שלך
- 1
פתח את DevTools
לחץ על F12 או על Ctrl+Shift+I כדי לפתוח את כלי המפתחים של הדפדפן.
- 2
עבור ללשונית Network
לחץ על לשונית ה-Network ובצע את הפעולה שמפעילה את בקשת ה-HTTP.
- 3
העתק כ-cURL
לחץ קליק ימני על הבקשה ← Copy ← Copy as cURL. לאחר מכן הדבק אותה למעלה.
שאלות נפוצות (FAQ)
מה זה Fetch API?
ה-Fetch API הוא ממשק מודרני מבוסס Promise המובנה בכל הדפדפנים לביצוע בקשות HTTP. הוא מחליף את XMLHttpRequest הישן ב-API נקי וחזק יותר. Fetch תומך בסטרימינג, אובייקטי בקשה/תגובה, CORS, ומשתלב בטבעיות עם async/await. אין צורך בהתקנה — הוא זמין גלובלית. curl2code משתמש ב-Fetch כפלט ברירת המחדל להמרות JavaScript.
Fetch לעומת XMLHttpRequest לעומת jQuery.ajax — במה כדאי להשתמש?
Fetch הוא הסטנדרט המודרני — השתמש בו לפרויקטים חדשים. XMLHttpRequest הוא מיושן אך עדיין עובד בכל מקום ותומך באירועי התקדמות (progress events) באופן טבעי. jQuery.ajax מוסיף נוחות אם jQuery כבר נמצא בפרויקט שלך. עבור JavaScript בצד השרת, עיין ב-ממיר curl ל-Node.js. עבור בטיחות טיפוסים, נסה את curl ל-TypeScript.
איך מטפלים באימות עם Fetch?
העבר כותרת Authorization באופציית ה-headers: fetch(url, { headers: { "Authorization": "Bearer token" } }). עבור אימות Basic, קודד את האישורים עם btoa(user + ':' + pass). curl2code מזהה דגלי -u ו--H 'Authorization: ...' באופן אוטומטי.
איך שולחים נתוני טופס (multipart form data) עם Fetch?
צור אובייקט FormData והעבר אותו כגוף הבקשה: fetch(url, { method: "POST", body: formData }). אל תגדיר Content-Type ידנית — הדפדפן מוסיף את גבול ה-multipart באופן אוטומטי. curl2code ממיר דגלי -F ל-FormData.
איך מטפלים בשגיאות עם Fetch?
Fetch נכשל (reject) רק בשגיאות רשת, לא בשגיאות HTTP. תמיד בדוק את response.ok או response.status לפני קריאת גוף התגובה. עטוף קריאות ב-try/catch עם async/await כדי לטפל בשגיאות רשת ופענוח במקום אחד.
איך משתמשים ב-async/await עם Fetch?
Fetch מחזיר Promise, לכן השתמש ב-const response = await fetch(url) ולאחריו const data = await response.json(). עטוף בבלוק try/catch לטיפול בשגיאות. זה נקי יותר משרשראות .then() וזו התבנית המומלצת ב-JavaScript מודרני.
איך מגדירים פסק זמן (timeout) לבקשות Fetch?
השתמש ב-AbortController: צור בקר, העבר { signal: controller.signal } ל-fetch, וקרא ל-controller.abort() לאחר השהיה עם setTimeout. דפדפנים מודרניים תומכים גם ב-AbortSignal.timeout(5000) כקיצור פשוט. הדגל --max-time של curl ממופה לתבנית זו.
איך מטפלים בבעיות CORS עם Fetch?
CORS נאכף על ידי הדפדפן, לא על ידי Fetch עצמו. הגדר mode: 'cors' (ברירת המחדל) וודא שהשרת שולח כותרות Access-Control-Allow-Origin מתאימות. עבור אישורים (עוגיות), הוסף credentials: 'include'. CORS אינו חל על קוד צד שרת — לשם כך, עיין ב-ממיר curl ל-Node.js.
איך שולחים בקשת POST עם גוף JSON ב-JavaScript?
המירו פקודת curl POST כמו curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL ל-JavaScript באמצעות curl2code. הקוד שנוצר משתמש ב-fetch(url, { method: 'POST', body: JSON.stringify(data), headers: {'Content-Type': 'application/json'} }). curl2code מזהה באופן אוטומטי דגלי -d/--data עם תוכן JSON ומגדיר את כותרת Content-Type המתאימה בקוד ה-fetch.
איך מוסיפים אימות Bearer token ב-JavaScript?
העבירו את curl -H "Authorization: Bearer YOUR_TOKEN" URL ל-curl2code והוא יפיק קוד fetch עם כותרת האימות: headers: { 'Authorization': 'Bearer YOUR_TOKEN' }. curl2code מזהה Bearer tokens גם מדגלי -H "Authorization: Bearer ..." וגם מדגלי --oauth2-bearer. עבור Basic auth, השתמשו ב--u user:pass.
איך מגדירים כותרת Content-Type ב-JavaScript?
curl2code ממיר את curl -H "Content-Type: application/json" URL לקוד fetch עם הכותרת המתאימה: headers: { 'Content-Type': 'application/json' }. עבור נתוני -d, curl משתמש כברירת מחדל ב-application/x-www-form-urlencoded; עבור העלאות טפסים עם -F, הוא משתמש ב-multipart/form-data. curl2code ממפה כל אחד מהם ל-API הנכון של fetch.