Конвертиране на 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 и персонализирани методи за заявки. За повече функции lua-resty-http е популярен в средите на OpenResty/Nginx. Инсталирайте с luarocks install http. curl2code генерира код, използвайки модула http.
socket.http срещу lua-resty-http срещу lua-curl — кое да използвам?
socket.http (LuaSocket) е стандартът за обща употреба на Lua. lua-resty-http е за OpenResty/Nginx с неблокиращ I/O. lua-curl обвива libcurl за пълна поддръжка на протоколи. Използвайте socket.http за самостоятелни скриптове и resty-http за уеб сървъри. За подобно скриптиране вижте curl към Python или curl към Ruby.
Как да се справя с автентикацията в Lua?
Задайте хедъра Authorization в таблицата с хедъри: headers = { Authorization = "Bearer token" }. За Basic auth кодирайте с base64 библиотека: "Basic " .. base64.encode(user .. ":" .. pass). Предайте хедърите в таблицата с опции на заявката. curl2code обработва -u и флаговете за хедъри.
Как да изпратя multipart form data в Lua?
Конструирайте ръчно тялото на multipart с boundary низове или използвайте помощна библиотека като multipart-post. Задайте хедъра Content-Type с boundary. http.request на LuaSocket приема source функция за стрийминг на големи качвания. curl2code конвертира флаговете -F в Lua синтаксис.
Как да се справя с HTTP грешки в Lua?
http.request на LuaSocket връща няколко стойности: body, code, headers, status = http.request(url). Проверете code за HTTP статуса (200, 404 и т.н.) или nil при мрежова повреда. Използвайте модела assert() на Lua или if not body then за проверка на грешки.
Как да парсна JSON в Lua?
Използвайте модула 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 се свържете директно към проксито и използвайте метода 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 token оторизация в 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.