Lua:
Загрузка веб-страницы
Как:
Lua изначально не оснащен инструментами для работы с вебом, но с использованием библиотеки socket
и модуля http
это становится проще простого. Вот быстрый пример с использованием LuaSocket:
-- Не забудьте установить LuaSocket: `luarocks install luasocket`
local http = require("socket.http")
local body, code = http.request("http://www.example.com")
if code == 200 then
print(body) -- Успех! Выводит содержимое веб-страницы.
else
print("Что-то пошло не так :(", code)
end
Пример вывода:
<!doctype html>
<html>
<head>
<title>Пример Домена</title>
...
Подробнее
До LuaSocket загрузка веб-контента в Lua была более громоздкой. Распространенными альтернативами были использование io.popen
для вызова curl
или wget
.
LuaSocket существует с 2004 года, делая такие сетевые взаимодействия, как HTTP-запросы, простыми в Lua. Он работает, оборачивая вызовы API сокетов TCP/IP в легко используемые функции Lua. Для HTTPS можно использовать LuaSec.
Расширяемость Lua означает, что вы также можете использовать другие фреймворки или модули на основе Lua, такие как OpenResty для более сложных веб-взаимодействий в рамках высокопроизводительной веб-серверной среды.
Имейте в виду, если вам нужно выполнить тяжелую веб-скрапинг задачу или сложную обработку, Lua может не стать вашим лучшим выбором; Python с библиотеками вроде Requests и Beautiful Soup может подойти вам лучше.
Смотрите также
- Документация LuaSocket: http://w3.impa.br/~diego/software/luasocket/
- LuaSec (для поддержки HTTPS): https://github.com/brunoos/luasec/wiki
- OpenResty для более продвинутых веб-взаимодействий: https://openresty.org/en/