Конвертувати curl у Lua
curl2code конвертує команди curl у код Lua за допомогою бібліотеки http. Конвертація виконується у вашому браузері через WebAssembly для повної приватності. Для Python перегляньте наш конвертер curl у Python. Для Ruby дивіться curl у Ruby. Нижче наведено практичні приклади на Lua.
Як скопіювати curl з вашого браузера
- 1
Відкрийте DevTools
Натисніть F12 або Ctrl+Shift+I, щоб відкрити інструменти розробника у вашому браузері.
- 2
Перейдіть на вкладку Network
Натисніть на вкладку Network і виконайте дію, яка ініціює HTTP-запит.
- 3
Скопіюйте як cURL
Клацніть правою кнопкою миші на запит → Copy → Copy as cURL. Потім вставте його вище.
Часті запитання
Що таке Lua http?
lua-http (або socket.http з LuaSocket) — це стандартний спосіб виконання HTTP-запитів у Lua. Він надає базові методи 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 призначений для OpenResty/Nginx із неблокуючим введенням/виведенням. lua-curl огортає libcurl для повної підтримки протоколів. Використовуйте socket.http для автономних скриптів, resty-http — для вебсерверів. Для подібних скриптів дивіться curl у Python або curl у Ruby.
Як обробляти автентифікацію в Lua?
Встановіть заголовок Authorization у таблиці заголовків: headers = { Authorization = "Bearer token" }. Для Basic-автентифікації закодуйте за допомогою бібліотеки base64: "Basic " .. base64.encode(user .. ":" .. pass). Передайте заголовки в таблиці опцій запиту. curl2code обробляє -u та прапорці заголовків.
Як надіслати дані форми multipart в Lua?
Сконструюйте тіло multipart вручну з рядками меж або використовуйте допоміжну бібліотеку, таку як multipart-post. Встановіть заголовок Content-Type з межею. http.request у LuaSocket приймає функцію-джерело для потокового завантаження великих обсягів даних. curl2code перетворює прапорці -F у синтаксис Lua.
Як обробляти помилки HTTP в Lua?
http.request у LuaSocket повертає кілька значень: body, code, headers, status = http.request(url). Перевіряйте code для отримання статусу HTTP (200, 404 тощо) або nil при мережевому збої. Використовуйте патерн assert() або if not body then у Lua для перевірки помилок.
Як парсити JSON у Lua?
Використовуйте модуль cjson (швидкий, на основі C): local data = cjson.decode(json_string). Для кодування: cjson.encode(table). В OpenResty cjson попередньо встановлений. Для автономної Lua встановіть за допомогою luarocks install lua-cjson. Альтернативно використовуйте dkjson на чистій Lua.
Як встановити таймаути в 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 підключіться до проксі безпосередньо та використовуйте метод CONNECT для тунелювання HTTPS. curl2code перетворює прапорці -x у відповідне налаштування проксі Lua.
Як надіслати POST-запит із тілом JSON у Lua?
Конвертуйте команду curl POST, таку як curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL, у Lua за допомогою curl2code. Згенерований код використовує http.request(url, json_body, headers). curl2code автоматично виявляє прапорці -d/--data із вмістом JSON і встановлює відповідний заголовок Content-Type у коді http.
Як додати авторизацію за допомогою Bearer-токена у Lua?
Передайте curl -H "Authorization: Bearer YOUR_TOKEN" URL у curl2code, і він згенерує код http із заголовком авторизації: headers['Authorization'] = 'Bearer YOUR_TOKEN'. curl2code виявляє Bearer-токени як у прапорцях -H "Authorization: Bearer ...", так і в --oauth2-bearer. Для Basic auth використовуйте -u user:pass.
Як встановити заголовок Content-Type у Lua?
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.
Корисні посилання
Посібники з curl
Коди помилок curl
Знайдіть будь-який код завершення curl — причини, виправлення та поради з налагодження.
Завантаження файлів за допомогою curl
Зберігайте файли з -o, -O, слідкуйте за перенаправленнями, відновлюйте завантаження та інше.
SSL, TLS та проксі
Налаштування сертифікатів, версій TLS, HTTP/SOCKS-проксі та власного DNS.