Převést curl do Lua
curl2code převádí curl příkazy na kód v Lua pomocí knihovny http. Převod probíhá ve vašem prohlížeči přes WebAssembly pro úplné soukromí. Pro Python se podívejte na náš převodník curl do Pythonu. Pro Ruby viz curl do Ruby. Níže jsou praktické příklady v Lua.
Jak zkopírovat curl z prohlížeče
- 1
Otevřete DevTools
Stiskněte F12 nebo Ctrl+Shift+I pro otevření vývojářských nástrojů prohlížeče.
- 2
Přejděte na kartu Network
Klikněte na kartu Network a proveďte akci, která vyvolá HTTP požadavek.
- 3
Zkopírovat jako cURL
Klikněte pravým tlačítkem na požadavek → Copy → Copy as cURL. Poté jej vložte výše.
Často kladené dotazy
Co je Lua http?
lua-http (nebo socket.http z LuaSocket) je standardní způsob provádění HTTP požadavků v Lua. Poskytuje základní metody GET, POST a vlastní metody požadavků. Pro více funkcí je v prostředích OpenResty/Nginx populární lua-resty-http. Nainstalujte pomocí luarocks install http. curl2code generuje kód pomocí modulu http.
socket.http vs lua-resty-http vs lua-curl — co použít?
socket.http (LuaSocket) je standard pro obecnou Lua. lua-resty-http je pro OpenResty/Nginx s neblokujícím I/O. lua-curl obaluje libcurl pro plnou podporu protokolů. Použijte socket.http pro samostatné skripty, resty-http pro webové servery. Pro podobné skriptování viz curl do Pythonu nebo curl do Ruby.
Jak řešit autentizaci v Lua?
Nastavte hlavičku Authorization v tabulce hlaviček: headers = { Authorization = "Bearer token" }. Pro Basic auth zakódujte pomocí base64 knihovny: "Basic " .. base64.encode(user .. ":" .. pass). Předejte hlavičky v tabulce voleb požadavku. curl2code zpracovává -u a přepínače hlaviček.
Jak poslat multipart form data v Lua?
Sestavte tělo multipart ručně s boundary řetězci, nebo použijte pomocnou knihovnu jako multipart-post. Nastavte hlavičku Content-Type s danou boundary. http.request v LuaSocket přijímá zdrojovou funkci pro streamování velkých nahrávání. curl2code převádí přepínače -F do syntaxe Lua.
Jak řešit chyby HTTP v Lua?
http.request v LuaSocket vrací více hodnot: body, code, headers, status = http.request(url). Zkontrolujte code pro HTTP stav (200, 404 atd.) nebo nil při selhání sítě. Použijte vzor assert() nebo if not body then pro kontrolu chyb.
Jak parsovat JSON v Lua?
Použijte modul cjson (rychlý, založený na C): local data = cjson.decode(json_string). Pro kódování: cjson.encode(table). V OpenResty je cjson předinstalován. Pro samostatnou Lua nainstalujte pomocí luarocks install lua-cjson. Alternativně použijte čistě lua modul dkjson.
Jak nastavit timeouty v Lua?
S LuaSocket: nastavte http.TIMEOUT = 30 globálně, nebo vytvořte vlastní připojení a zavolejte :settimeout(30). V lua-resty-http použijte httpc:set_timeout(30000) (milisekundy). Timeouty zabraňují skriptům v nekonečném čekání na nereagující servery.
Jak používat proxy v Lua?
S LuaSocket nastavte pole proxy ve volbách požadavku: http.request{ url = target, proxy = "http://proxy:8080" }. Pro lua-resty-http se připojte přímo k proxy a použijte metodu CONNECT pro HTTPS tunelování. curl2code převádí přepínače -x na příslušné nastavení proxy v Lua.
Jak odeslat POST požadavek s JSON tělem v Lua?
Převeďte curl POST příkaz jako curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL do Lua pomocí curl2code. Vygenerovaný kód používá http.request(url, json_body, headers). curl2code automaticky detekuje -d/--data přepínače s JSON obsahem a nastaví odpovídající Content-Type hlavičku v kódu pro http.
Jak přidat autorizaci pomocí Bearer tokenu v Lua?
Vložte curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code a nástroj vygeneruje kód pro http s autorizační hlavičkou: headers['Authorization'] = 'Bearer YOUR_TOKEN'. curl2code detekuje Bearer tokeny z přepínačů -H "Authorization: Bearer ..." i --oauth2-bearer. Pro Basic auth použijte -u user:pass.
Jak nastavit hlavičku Content-Type v Lua?
curl2code převede curl -H "Content-Type: application/json" URL na kód pro http se správnou hlavičkou: headers['Content-Type'] = 'application/json'. Pro data u -d curl standardně používá application/x-www-form-urlencoded; pro nahrávání formulářů přes -F používá multipart/form-data. curl2code mapuje každý z nich na správné http API.