Lua:
ส่งคำขอ HTTP

วิธีการ:

Lua ไม่มีการสนับสนุน HTTP อย่างในตัว, ดังนั้นเราจึงใช้ไลบรารี เลือกที่นิยมหนึ่งคือ lua-requests นี่คือตัวอย่างง่ายๆ:

local requests = require('requests')

-- คำขอ GET
local response = requests.get('https://api.example.com/data')
print(response.status_code)
print(response.text)

-- คำขอ POST พร้อมข้อมูลบางอย่าง
local post_response = requests.post('https://api.example.com/post', {data = {key1 = 'value1', key2 = 'value2'}})
print(post_response.status_code)
print(post_response.text)

ตัวอย่างผลลัพธ์อาจดูเช่นนี้:

200
"{\"data\":\"นี่คือข้อมูลที่คุณขอมา!\"}"

201
"{\"success\":true,\"message\":\"ได้รับข้อมูลแล้ว!\"}"

ลงลึก

ความเรียบง่ายของ Lua ไม่ครอบคลุม HTTP โดยพื้นฐาน ซึ่งเป็นที่มาของไลบรารี lua-requests สะท้อนฟังก์ชั่นความพร้อมใช้งานของไลบรารีคำขอ Python, ทำให้มันง่ายมากสำหรับผู้ที่คุ้นเคยกับ Python

ทางเลือกอื่น ๆ รวมถึง LuaSocket สำหรับงาน HTTP ระดับต่ำลง และ luasocket.http สำหรับการควบคุมมากขึ้น Lua ยังมีการผูกกับ libcurl (ผ่าน Lua-cURL) สำหรับการดำเนินการ HTTP ที่ซับซ้อน

ในอดีต, การขาดการสนับสนุน HTTP ภายในตัวสะท้อนถึงรากฐานของระบบฝังตัวของ Lua ที่การเขียนโปรแกรมเครือข่ายไม่ใช่เรื่องสำคัญ การพัฒนาของมันผ่านไลบรารีภายนอกสะท้อนถึงความยืดหยุ่นของชุมชนและความสามารถในการขยายของภาษา

ในทางการปฏิบัติ, เมื่อคุณส่งคำขอ HTTP, มันจะเดินทางผ่านเครือข่ายไปยังเซิร์ฟเวอร์ที่ระบุ เซิร์ฟเวอร์จะดำเนินการและตอบกลับ ไลบรารี Lua ทำให้การเขียนโปรแกรมซ็อกเก็ตที่จำเป็นง่ายขึ้น, จัดการกับทุกความซับซ้อนของการสื่อสารเครือข่ายเพื่อให้คุณสามารถโฟกัสไปที่คำขอและการตอบสนองจริง

ดูเพิ่มเติม