curl کو Lua میں تبدیل کریں
curl2code http لائبریری کا استعمال کرتے ہوئے curl کمانڈز کو Lua کوڈ میں تبدیل کرتا ہے۔ مکمل رازداری کے لیے یہ تبدیلی WebAssembly کے ذریعے آپ کے براؤزر میں ہوتی ہے۔ Python کے لیے، ہمارا curl to Python کنورٹر دیکھیں۔ Ruby کے لیے، curl to Ruby دیکھیں۔ نیچے عملی Lua مثالیں دی گئی ہیں۔
اپنے براؤزر سے curl کاپی کرنے کا طریقہ
- 1
DevTools کھولیں
اپنے براؤزر کے ڈویلپر ٹولز کھولنے کے لیے F12 یا Ctrl+Shift+I دبائیں۔
- 2
Network ٹیب پر جائیں
Network ٹیب پر کلک کریں اور وہ عمل کریں جو HTTP درخواست کو متحرک کرتا ہے۔
- 3
cURL کے طور پر کاپی کریں
درخواست پر رائٹ کلک کریں ← Copy ← Copy as cURL۔ پھر اسے اوپر پیسٹ کریں۔
اکثر پوچھے جانے والے سوالات
Lua http کیا ہے؟
lua-http (یا LuaSocket سے socket.http) Lua میں HTTP درخواستیں کرنے کا معیاری طریقہ ہے۔ یہ بنیادی GET، POST، اور کسٹم ریکویسٹ میتھڈز فراہم کرتا ہے۔ مزید فیچرز کے لیے، OpenResty/Nginx ماحول میں lua-resty-http مقبول ہے۔ اسے luarocks install http کے ساتھ انسٹال کریں۔ curl2code خود بخود http ماڈیول کا استعمال کرتے ہوئے کوڈ تیار کرتا ہے۔
socket.http بمقابلہ lua-resty-http بمقابلہ lua-curl — کون سا استعمال کریں؟
socket.http (LuaSocket) عام Lua کے لیے معیار ہے۔ lua-resty-http نان بلاکنگ I/O کے ساتھ OpenResty/Nginx کے لیے ہے۔ lua-curl مکمل پروٹوکول سپورٹ کے لیے libcurl کو لپیٹتا ہے۔ اسٹینڈ اکیلے اسکرپٹس کے لیے socket.http استعمال کریں، ویب سرورز کے لیے resty-http۔ اسی طرح کی اسکرپٹنگ کے لیے، curl to Python یا curl to Ruby دیکھیں۔
Lua میں آتھنٹیکیشن کو کیسے ہینڈل کریں؟
ہیڈرز ٹیبل میں Authorization ہیڈر سیٹ کریں: headers = { Authorization = "Bearer token" }۔ Basic auth کے لیے، بیس 64 لائبریری کے ساتھ انکوڈ کریں: "Basic " .. base64.encode(user .. ":" .. pass)۔ درخواست کے اختیارات کے ٹیبل میں ہیڈرز پاس کریں۔ curl2code خود بخود -u اور ہیڈر فلیگز کو ہینڈل کرتا ہے۔
Lua میں ملٹی پارٹ فارم ڈیٹا کیسے بھیجیں؟
ملٹی پارٹ باڈی کو باؤنڈری اسٹرنگز کے ساتھ دستی طور پر تیار کریں، یا multipart-post جیسی ہیلپر لائبریری استعمال کریں۔ باؤنڈری کے ساتھ Content-Type ہیڈر سیٹ کریں۔ LuaSocket کا http.request بڑے اپ لوڈز کی اسٹریمنگ کے لیے سورس فنکشن قبول کرتا ہے۔ curl2code خود بخود -F فلیگز کو Lua سنٹیکس میں تبدیل کر دیتا ہے۔
Lua میں HTTP غلطیوں کو کیسے ہینڈل کریں؟
LuaSocket کا http.request متعدد اقدار واپس کرتا ہے: body, code, headers, status = http.request(url)۔ HTTP اسٹیٹس (200، 404، وغیرہ) کے لیے code چیک کریں یا نیٹ ورک کی ناکامی پر nil۔ غلطی کی جانچ کے لیے Lua کا assert() یا if not body then پیٹرن استعمال کریں۔
Lua میں JSON کو کیسے پارس کریں؟
cjson ماڈیول استعمال کریں (تیز، C پر مبنی): local data = cjson.decode(json_string)۔ انکوڈنگ کے لیے: cjson.encode(table)۔ OpenResty میں، cjson پہلے سے انسٹال ہوتا ہے۔ اسٹینڈ اکیلے Lua کے لیے، اسے luarocks install lua-cjson کے ساتھ انسٹال کریں۔ متبادل طور پر، پیور-لوا dkjson استعمال کریں۔
Lua میں ٹائم آؤٹ کیسے سیٹ کریں؟
LuaSocket کے ساتھ: عالمی سطح پر http.TIMEOUT = 30 سیٹ کریں، یا ایک کسٹم کنکشن بنائیں اور :settimeout(30) کال کریں۔ lua-resty-http میں، httpc:set_timeout(30000) (ملی سیکنڈز) استعمال کریں۔ ٹائم آؤٹ اسکرپٹس کو غیر جوابدہ سرورز پر غیر معینہ مدت تک لٹکنے سے روکتے ہیں۔
Lua میں پراکسی کیسے استعمال کریں؟
LuaSocket کے ساتھ، درخواست کے اختیارات میں proxy فیلڈ سیٹ کریں: http.request{ url = target, proxy = "http://proxy:8080" }۔ lua-resty-http کے لیے، براہ راست پراکسی سے جڑیں اور HTTPS ٹنلنگ کے لیے CONNECT میتھڈ استعمال کریں۔ curl2code خود بخود -x فلیگز کو مناسب Lua پراکسی سیٹ اپ میں تبدیل کر دیتا ہے۔
Lua میں JSON باڈی کے ساتھ POST درخواست کیسے بھیجیں؟
curl2code کا استعمال کرتے ہوئے curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL جیسی curl POST کمانڈ کو Lua میں تبدیل کریں۔ تیار کردہ کوڈ http.request(url, json_body, headers) استعمال کرتا ہے۔ curl2code خودکار طور پر JSON مواد کے ساتھ -d/--data فلیگز کا پتہ لگاتا ہے اور http کوڈ میں مناسب Content-Type ہیڈر سیٹ کرتا ہے۔
Lua میں Bearer ٹوکن کی اجازت کیسے شامل کریں؟
curl2code کو curl -H "Authorization: Bearer YOUR_TOKEN" URL فراہم کریں اور یہ auth ہیڈر کے ساتھ http کوڈ تیار کرتا ہے: headers['Authorization'] = 'Bearer YOUR_TOKEN'۔ curl2code دونوں -H "Authorization: Bearer ..." اور --oauth2-bearer فلیگز سے Bearer ٹوکنز کا پتہ لگاتا ہے۔ Basic auth کے لیے، -u user:pass استعمال کریں۔
Lua میں Content-Type ہیڈر کیسے سیٹ کریں؟
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 ہر ایک کو درست http API کے ساتھ میپ کرتا ہے۔