המרת curl ל-Lua

curl2code ממיר פקודות curl לקוד Lua באמצעות ספריית ה-http. ההמרה מתבצעת בדפדפן שלך דרך WebAssembly לפרטיות מלאה. עבור Python, בדוק את ממיר curl ל-Python. עבור Ruby, ראה curl ל-Ruby. להלן דוגמאות Lua מעשיות.

איך להעתיק curl מהדפדפן שלך

  1. 1

    פתח את DevTools

    לחץ על F12 או על Ctrl+Shift+I כדי לפתוח את כלי המפתחים של הדפדפן.

  2. 2

    עבור ללשונית Network

    לחץ על לשונית ה-Network ובצע את הפעולה שמפעילה את בקשת ה-HTTP.

  3. 3

    העתק כ-cURL

    לחץ קליק ימני על הבקשה ← CopyCopy 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.

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

מדריכי curl

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