המרת curl ל-Lua
curl2code ממיר פקודות curl לקוד Lua באמצעות ספריית ה-http. ההמרה מתבצעת בדפדפן שלך דרך WebAssembly לפרטיות מלאה. עבור Python, בדוק את ממיר curl ל-Python. עבור Ruby, ראה curl ל-Ruby. להלן דוגמאות Lua מעשיות.
איך להעתיק curl מהדפדפן שלך
- 1
פתח את DevTools
לחץ על F12 או על Ctrl+Shift+I כדי לפתוח את כלי המפתחים של הדפדפן.
- 2
עבור ללשונית Network
לחץ על לשונית ה-Network ובצע את הפעולה שמפעילה את בקשת ה-HTTP.
- 3
העתק כ-cURL
לחץ קליק ימני על הבקשה ← Copy ← Copy as cURL. לאחר מכן הדבק אותה למעלה.
שאלות נפוצות (FAQ)
מהו Lua http?
ה-lua-http (או socket.http מ-LuaSocket) הוא הדרך הסטנדרטית לבצע בקשות HTTP ב-Lua. הוא מספק מתודות בסיסיות של GET, POST ובקשות מותאמות אישית. לתכונות נוספות, lua-resty-http פופולרי בסביבות OpenResty/Nginx. התקינו עם luarocks install http. curl2code מייצר קוד באמצעות מודול ה-http.
socket.http לעומת lua-resty-http לעומת lua-curl — במה להשתמש?
socket.http (LuaSocket) הוא הסטנדרט ל-Lua כללי. lua-resty-http מיועד ל-OpenResty/Nginx עם I/O לא חוסם. lua-curl עוטף את libcurl לתמיכה מלאה בפרוטוקולים. השתמשו ב-socket.http לסקריפטים עצמאיים, וב-resty-http לשרתי אינטרנט. לסקריפטים דומים, ראו curl ל-Python או curl ל-Ruby.
איך מטפלים באימות ב-Lua?
הגדירו את כותרת ה-Authorization בטבלת הכותרות: headers = { Authorization = "Bearer token" }. עבור אימות Basic, קודדו עם ספריית base64: "Basic " .. base64.encode(user .. ":" .. pass). העבירו כותרות בטבלת אפשרויות הבקשה. curl2code מטפל בדגלי -u וכותרות.
איך שולחים נתוני multipart form ב-Lua?
בנו את גוף ה-multipart ידנית עם מחרוזות boundary, או השתמשו בספריית עזר כמו multipart-post. הגדירו את כותרת ה-Content-Type עם ה-boundary. ה-http.request של LuaSocket מקבל פונקציית מקור (source function) להזרמת העלאות גדולות. curl2code ממיר דגלי -F לתחביר Lua.
איך מטפלים בשגיאות HTTP ב-Lua?
ה-http.request של LuaSocket מחזיר מספר ערכים: body, code, headers, status = http.request(url). בדקו את code עבור סטטוס ה-HTTP (200, 404 וכו') או nil בכשל ברשת. השתמשו ב-assert() של Lua או בתבנית if not body then לבדיקת שגיאות.
איך מפענחים JSON ב-Lua?
השתמשו במודול cjson (מהיר, מבוסס C): local data = cjson.decode(json_string). לקידוד: cjson.encode(table). ב-OpenResty, cjson מותקן מראש. ל-Lua עצמאי, התקינו עם luarocks install lua-cjson. לחלופין, השתמשו ב-dkjson הכתוב ב-Lua טהור.
איך מגדירים פסקי זמן ב-Lua?
עם LuaSocket: הגדירו http.TIMEOUT = 30 גלובלית, או צרו חיבור מותאם אישית וקראו ל-:settimeout(30). ב-lua-resty-http, השתמשו ב-httpc:set_timeout(30000) (מילי-שניות). פסקי זמן מונעים מסקריפטים להיתקע ללא הגבלה בשרתים שאינם מגיבים.
איך משתמשים ב-proxy ב-Lua?
עם LuaSocket, הגדירו את שדה ה-proxy באפשרויות הבקשה: http.request{ url = target, proxy = "http://proxy:8080" }. עבור lua-resty-http, התחברו לפרוקסי ישירות והשתמשו במתודת CONNECT עבור מנהור HTTPS. curl2code ממיר דגלי -x להגדרת הפרוקסי המתאימה ב-Lua.
איך שולחים בקשת POST עם גוף JSON ב-Lua?
המירו פקודת curl POST כמו curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL ל-Lua באמצעות curl2code. הקוד שנוצר משתמש ב-http.request(url, json_body, headers). curl2code מזהה באופן אוטומטי דגלי -d/--data עם תוכן JSON ומגדיר את כותרת Content-Type המתאימה בקוד ה-http.
איך מוסיפים אימות Bearer token ב-Lua?
העבירו את curl -H "Authorization: Bearer YOUR_TOKEN" URL ל-curl2code והוא יפיק קוד http עם כותרת האימות: headers['Authorization'] = 'Bearer YOUR_TOKEN'. curl2code מזהה Bearer tokens גם מדגלי -H "Authorization: Bearer ..." וגם מדגלי --oauth2-bearer. עבור Basic auth, השתמשו ב--u user:pass.
איך מגדירים כותרת Content-Type ב-Lua?
curl2code ממיר את curl -H "Content-Type: application/json" URL לקוד http עם הכותרת המתאימה: headers['Content-Type'] = 'application/json'. עבור נתוני -d, curl משתמש כברירת מחדל ב-application/x-www-form-urlencoded; עבור העלאות טפסים עם -F, הוא משתמש ב-multipart/form-data. curl2code ממפה כל אחד מהם ל-API הנכון של http.