curl-কে Lua-এ রূপান্তর করুন
curl2code http লাইব্রেরি ব্যবহার করে curl কমান্ডগুলোকে Lua কোডে রূপান্তর করে। সম্পূর্ণ গোপনীয়তার জন্য রূপান্তরটি WebAssembly-এর মাধ্যমে আপনার ব্রাউজারে চলে। Python-এর জন্য আমাদের curl to Python converter দেখুন। 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 অথেন্টিকেশনের জন্য একটি base64 লাইব্রেরি দিয়ে এনকোড করুন: "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 দিয়ে ইনস্টল করুন। বিকল্প হিসেবে পিওর-Lua 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 token অথরাইজেশন কীভাবে যোগ করবেন?
curl2code-এ curl -H "Authorization: Bearer YOUR_TOKEN" URL পাস করুন এবং এটি অথরাইজেশন হেডার সহ http কোড জেনারেট করে: headers['Authorization'] = 'Bearer YOUR_TOKEN'। curl2code -H "Authorization: Bearer ..." এবং --oauth2-bearer উভয় ফ্ল্যাগ থেকে Bearer token শনাক্ত করে। 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-তে ম্যাপ করে।