Lua:
שליחת בקשת HTTP
איך לעשות:
בקטע הזה נראה דוגמה פשוטה לשליחת בקשת HTTP GET בשפת לואה.
local http = require("socket.http") -- טעינת המודול ברשת של לואה
local body, code, headers, status = http.request("http://example.com") -- בקשת GET לדוגמא
-- הדפסת תוצאות הבקשה
print("HTTP קוד סטטוס: " .. code) -- ידפיס, נניח, "HTTP קוד סטטוס: 200"
if code == 200 then
print("תוכן התגובה: " .. body) -- ידפיס את הHTML של הדף
end
כאשר מריצים את הקוד הזה, התוצאה תהיה תשובה מהשרת של האתר שהוא ביקש, שהוא example.com
במקרה הזה.
עומק הצלילה
שליחת בקשות HTTP משתמשת בפרוטוקול שקיים מאז שנות ה-90 ומשמש לתקשורת ברשת האינטרנט. אף על פי שיש ספריות רבות ומגוונות לשליחת בקשות HTTP בשפות תכנות שונות, בלואה אנו לעיתים קרובות משתמשים במודול socket.http
, החלק מהספריה LuaSocket
. קיימות גם אלטרנטיבות כמו curl
ו-luasec
לבקשות מאובטחות יותר (HTTPS).
כאשר שולחים בקשה, הפרוטוקול דורש שנגדיר פרטים כגון סוג הבקשה (GET, POST, וכו’), שם המארח (host name), פאת’ למשאב הנדרש, ולעיתים גם פרטים נוספים כגון פרמטרים וכותרות (headers).
ראה גם
- LuaSocket (באנגלית) - http://w3.impa.br/~diego/software/luasocket
- LuaSec (לבקשות HTTPS, באנגלית) - https://github.com/brunoos/luasec/wiki