המרת curl ל-PHP
curl2code ממיר פקודות curl לקוד PHP באמצעות הרחבת cURL או ספריית Guzzle. ההמרה מתבצעת בדפדפן שלך דרך WebAssembly לפרטיות מלאה. עבור שפות צד-שרת דומות, בדוק את ממיר curl ל-Python או curl ל-Ruby. להלן דוגמאות PHP מעשיות.
איך להעתיק curl מהדפדפן שלך
- 1
פתח את DevTools
לחץ על F12 או על Ctrl+Shift+I כדי לפתוח את כלי המפתחים של הדפדפן.
- 2
עבור ללשונית Network
לחץ על לשונית ה-Network ובצע את הפעולה שמפעילה את בקשת ה-HTTP.
- 3
העתק כ-cURL
לחץ קליק ימני על הבקשה ← Copy ← Copy as cURL. לאחר מכן הדבק אותה למעלה.
שאלות נפוצות (FAQ)
מה זה PHP cURL?
הרחבת ה-curl של PHP היא עטיפה סביב ספריית ה-C libcurl, המספקת יכולות HTTP client חזקות. היא תומכת כמעט בכל הפרוטוקולים והתכונות ש-curl עצמו תומך בהם. אתחל עם curl_init(), הגדר אפשרויות עם curl_setopt(), ובצע עם curl_exec(). curl2code תומך גם ב-Guzzle ו-Requests כחלופות.
PHP cURL לעומת Guzzle לעומת Requests — במה כדאי להשתמש?
PHP cURL היא ברמה נמוכה ומובנית — אין צורך ב-Composer. Guzzle הוא לקוח ה-HTTP הפופולרי ביותר ב-PHP עם תמיכה ב-PSR-7, middleware ובקשות אסינכרוניות. Requests מציעה API פשוט למשימות מהירות. השתמש ב-Guzzle לפרויקטים מודרניים, וב-PHP cURL להגדרות מינימליות. לאפשרויות דומות בשפות אחרות, ראה curl ל-Python.
איך מטפלים באימות ב-PHP?
עם cURL: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer token']). עבור אימות Basic: curl_setopt($ch, CURLOPT_USERPWD, 'user:pass'). Guzzle משתמש ב-'auth' => ['user', 'pass'] או 'headers' => ['Authorization' => 'Bearer token']. curl2code מטפל בדגלי -u ו-Bearer אוטומטית.
איך שולחים נתוני טופס (multipart form data) ב-PHP?
עם cURL: העבר מערך ל-CURLOPT_POSTFIELDS המכיל new CURLFile('path') עבור קבצים. Guzzle משתמש באופציית 'multipart' עם מערכי שדות/קבצים. curl2code ממיר דגלי -F לפורמט הנכון עבור כל גרסת ספריית PHP.
איך מטפלים בשגיאות HTTP ב-PHP?
עם cURL: בדוק את curl_errno($ch) לשגיאות תעבורה ופענח את סטטוס התגובה ידנית. Guzzle זורק RequestException בכשלונות — תפוס ClientException (4xx), ServerException (5xx), ו-ConnectException (רשת). תמיד קרא ל-curl_close($ch) כדי לשחרר משאבים.
איך מבצעים בקשות HTTP אסינכרוניות ב-PHP?
Guzzle תומך באסינכרוניות דרך $client->requestAsync('GET', $url) המחזיר Promise. השתמש ב-Promise\Utils::all() לבקשות מקביליות. עם cURL, השתמש בפונקציות curl_multi_* לביצוע מקבילי. עבור PHP אסינכרוני באמת, שקול את הפריימוורקים ReactPHP או Amp עם לקוחות ה-HTTP שלהם.
איך מגדירים פסקי זמן ב-PHP?
עם cURL: CURLOPT_CONNECTTIMEOUT לחיבור ו-CURLOPT_TIMEOUT לזמן הבקשה הכולל. Guzzle מקבל 'connect_timeout' ו-'timeout' בשניות. אלו ממופים ישירות לאפשרויות --connect-timeout ו---max-time של curl.
איך משתמשים בפרוקסי ב-PHP?
עם cURL: curl_setopt($ch, CURLOPT_PROXY, 'http://proxy:8080'). עבור SOCKS5: הוסף CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5. Guzzle משתמש באופציית 'proxy' => 'http://proxy:8080'. curl2code ממיר דגלי -x ו---proxy לקוד ה-PHP המתאים.
איך שולחים בקשת POST עם גוף JSON ב-PHP?
המירו פקודת curl POST כמו curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL ל-PHP באמצעות curl2code. הקוד שנוצר משתמש ב-curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)). curl2code מזהה באופן אוטומטי דגלי -d/--data עם תוכן JSON ומגדיר את כותרת Content-Type המתאימה בקוד ה-cURL.
איך מוסיפים אימות Bearer token ב-PHP?
העבירו את curl -H "Authorization: Bearer YOUR_TOKEN" URL ל-curl2code והוא יפיק קוד cURL עם כותרת האימות: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer TOKEN']). curl2code מזהה Bearer tokens גם מדגלי -H "Authorization: Bearer ..." וגם מדגלי --oauth2-bearer. עבור Basic auth, השתמשו ב--u user:pass.
איך מגדירים כותרת Content-Type ב-PHP?
curl2code ממיר את curl -H "Content-Type: application/json" URL לקוד cURL עם הכותרת המתאימה: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']). עבור נתוני -d, curl משתמש כברירת מחדל ב-application/x-www-form-urlencoded; עבור העלאות טפסים עם -F, הוא משתמש ב-multipart/form-data. curl2code ממפה כל אחד מהם ל-API הנכון של cURL.
PHP cURL extension מול Guzzle — במה כדאי להשתמש?
ה-PHP cURL extension (פונקציות curl_*) מובנה בתוך PHP ואינו דורש תלות נוספת — אידיאלי לבקשות פשוטות או כשרוצים מינימום עומס. Guzzle הוא לקוח HTTP עתיר תכונות עם middleware, בקשות אסינכרוניות, תמיכה ב-PSR-7/PSR-18 וניסיונות חוזרים אוטומטיים. השתמשו ב-cURL עבור סקריפטים קלים, וב-Guzzle עבור אפליקציות מורכבות. curl2code מפיק קוד עבור שניהם — בחרו את הגרסה המועדפת עליכם בתפריט השפות.