המרת curl ל-Perl
המר פקודות curl לקוד Perl באמצעות LWP::UserAgent. curl2code רץ כולו בדפדפן שלך דרך WebAssembly — המידע שלך נשאר פרטי. עבור Python, נסה את ממיר curl ל-Python. עבור Ruby, ראה curl ל-Ruby. להלן דוגמאות Perl מוכנות לשימוש.
איך להעתיק curl מהדפדפן שלך
- 1
פתח את DevTools
לחץ על F12 או על Ctrl+Shift+I כדי לפתוח את כלי המפתחים של הדפדפן.
- 2
עבור ללשונית Network
לחץ על לשונית ה-Network ובצע את הפעולה שמפעילה את בקשת ה-HTTP.
- 3
העתק כ-cURL
לחץ קליק ימני על הבקשה ← Copy ← Copy as cURL. לאחר מכן הדבק אותה למעלה.
שאלות נפוצות (FAQ)
מהו Perl LWP?
LWP (Library for WWW in Perl) היא ספריית לקוח ה-HTTP הסטנדרטית עבור Perl. מודול LWP::UserAgent מספק לקוח עשיר בתכונות עם טיפול בעוגיות, הפניות מחדש, תמיכה בפרוקסי ו-SSL. התקינו עם cpan LWP או apt install libwww-perl. curl2code משתמש ב-LWP כברירת מחדל להמרות Perl.
LWP לעומת HTTP::Tiny לעומת Mojo::UserAgent — במה להשתמש?
LWP עשירה בתכונות והיא הבחירה המסורתית. HTTP::Tiny היא מודול ליבה (אין צורך בהתקנה) — מצוינת לבקשות פשוטות. Mojo::UserAgent היא מודרנית עם תמיכה באסינכרוניות ו-WebSocket. לסקריפטים מהירים, השתמשו ב-HTTP::Tiny. לתכונות מלאות, השתמשו ב-LWP. לשפות סקריפטים דומות, ראו curl ל-Python או curl ל-Ruby.
איך מטפלים באימות ב-Perl?
עם LWP: $ua->default_header('Authorization' => 'Bearer token'). עבור אימות Basic: $ua->credentials('host:port', 'realm', 'user', 'pass'). או הגדירו כותרות לכל בקשה על אובייקט ה-HTTP::Request. curl2code ממיר דגלי -u ו--H 'Authorization' לתחביר Perl.
איך שולחים נתוני multipart form ב-Perl?
השתמשו ב-HTTP::Request::Common: POST($url, Content_Type => 'form-data', Content => [file => ['path/file.pdf']]). LWP מטפל בגבולות (boundaries) של multipart באופן אוטומטי. לשדות נוספים, הוסיפו זוגות מפתח-ערך למערך ה-Content. curl2code ממיר דגלי -F לפורמט זה.
איך מטפלים בשגיאות HTTP ב-Perl?
בדקו את $response->is_success אחרי כל בקשה. לפרטי שגיאה: $response->status_line מחזיר את קוד הסטטוס וההודעה. LWP מחזיר אובייקט תגובה גם בשגיאות — בדקו את $response->code עבור סטטוס ה-HTTP. השתמשו ב-die או warn לדיווח על שגיאות.
איך מפענחים JSON ב-Perl?
השתמשו במודול JSON: my $data = decode_json($response->content). לקידוד: my $json = encode_json($hashref). התקינו עם cpan JSON. עבור Perl 5.14+, שקלו את JSON::PP (מודול ליבה, ללא התקנה). לכלים נוספים ממוקדי JSON, ראו curl ל-Go.
איך מגדירים פסקי זמן ב-Perl LWP?
הגדירו ב-UserAgent: my $ua = LWP::UserAgent->new(timeout => 30). זה מגדיר את פסק הזמן הכולל לבקשה בשניות. לפסק זמן של חיבור ספציפית, השתמשו באפשרויות IO::Socket::SSL. ניסיונות חוזרים אינם מובנים ב-LWP — יש לממש ידנית או להשתמש ב-LWP::UserAgent::Determined.
איך משתמשים ב-proxy ב-Perl?
הגדירו ב-UserAgent: $ua->proxy(['http', 'https'], 'http://proxy:8080'). או השתמשו במשתני סביבה: $ua->env_proxy קורא את HTTP_PROXY ו-HTTPS_PROXY. להחרגות ללא פרוקסי: $ua->no_proxy('localhost', '.internal'). curl2code ממיר דגלי -x לקריאות פרוקסי של LWP.
איך שולחים בקשת POST עם גוף JSON ב-Perl?
המירו פקודת curl POST כמו curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL ל-Perl באמצעות curl2code. הקוד שנוצר משתמש ב-$ua->post($url, Content_Type => 'application/json', Content => encode_json($data)). curl2code מזהה באופן אוטומטי דגלי -d/--data עם תוכן JSON ומגדיר את כותרת Content-Type המתאימה בקוד ה-LWP::UserAgent.
איך מוסיפים אימות Bearer token ב-Perl?
העבירו את curl -H "Authorization: Bearer YOUR_TOKEN" URL ל-curl2code והוא יפיק קוד LWP::UserAgent עם כותרת האימות: $req->header('Authorization' => 'Bearer YOUR_TOKEN'). curl2code מזהה Bearer tokens גם מדגלי -H "Authorization: Bearer ..." וגם מדגלי --oauth2-bearer. עבור Basic auth, השתמשו ב--u user:pass.
איך מגדירים כותרת Content-Type ב-Perl?
curl2code ממיר את curl -H "Content-Type: application/json" URL לקוד LWP::UserAgent עם הכותרת המתאימה: $req->header('Content-Type' => 'application/json'). עבור נתוני -d, curl משתמש כברירת מחדל ב-application/x-www-form-urlencoded; עבור העלאות טפסים עם -F, הוא משתמש ב-multipart/form-data. curl2code ממפה כל אחד מהם ל-API הנכון של LWP::UserAgent.