Konwertuj curl na Lua

curl2code konwertuje polecenia curl na kod Lua przy użyciu biblioteki http. Konwersja odbywa się w przeglądarce poprzez WebAssembly, zapewniając pełną prywatność. W przypadku Python, sprawdź nasz konwerter curl na Python. W przypadku Ruby, zobacz curl na Ruby. Poniżej znajdują się praktyczne przykłady w Lua.

Jak skopiować polecenie curl z przeglądarki

  1. 1

    Otwórz DevTools

    Naciśnij F12 lub Ctrl+Shift+I, aby otworzyć narzędzia programistyczne przeglądarki.

  2. 2

    Przejdź do karty Sieć

    Kliknij kartę Sieć i wykonaj akcję, która wywołuje żądanie HTTP.

  3. 3

    Kopiuj jako cURL

    Kliknij żądanie prawym przyciskiem myszy → KopiujKopiuj jako cURL. Następnie wklej je powyżej.

Najczęściej zadawane pytania

Czym jest Lua http?

lua-http (lub socket.http z LuaSocket) to standardowy sposób wykonywania żądań HTTP w Lua. Zapewnia podstawowe metody GET, POST i niestandardowe żądania. Dla większej liczby funkcji popularny jest lua-resty-http w środowiskach OpenResty/Nginx. Zainstaluj przez luarocks install http. curl2code generuje kod przy użyciu modułu http.

socket.http vs lua-resty-http vs lua-curl — którego użyć?

socket.http (LuaSocket) to standard dla ogólnego Lua. lua-resty-http jest dla OpenResty/Nginx z nieblokującym I/O. lua-curl owija libcurl dla pełnej obsługi protokołów. Używaj socket.http dla samodzielnych skryptów, a resty-http dla serwerów WWW. Podobne skryptowanie znajdziesz w curl na Python lub curl na Ruby.

Jak obsługiwać uwierzytelnianie w Lua?

Ustaw nagłówek Authorization w tabeli nagłówków: headers = { Authorization = "Bearer token" }. Dla uwierzytelniania Basic zakoduj za pomocą biblioteki base64: "Basic " .. base64.encode(user .. ":" .. pass). Przekaż nagłówki w tabeli opcji żądania. curl2code obsługuje flagi -u i nagłówki.

Jak wysyłać dane formularza multipart w Lua?

Skonstruuj ciało multipart ręcznie z ciągami boundary lub użyj biblioteki pomocniczej jak multipart-post. Ustaw nagłówek Content-Type z boundary. http.request z LuaSocket akceptuje funkcję źródłową do strumieniowania dużych plików. curl2code konwertuje flagi -F na składnię Lua.

Jak obsługiwać błędy HTTP w Lua?

http.request z LuaSocket zwraca wiele wartości: body, code, headers, status = http.request(url). Sprawdź code pod kątem statusu HTTP (200, 404 itp.) lub nil przy awarii sieci. Użyj wzorca assert() lub if not body then do sprawdzania błędów.

Jak parsować JSON w Lua?

Użyj modułu cjson (szybki, oparty na C): local data = cjson.decode(json_string). Do kodowania: cjson.encode(table). W OpenResty cjson jest preinstalowany. Dla samodzielnego Lua zainstaluj przez luarocks install lua-cjson. Alternatywnie użyj czystego Lua dkjson.

Jak ustawić limity czasu w Lua?

Z LuaSocket: ustaw http.TIMEOUT = 30 globalnie lub utwórz niestandardowe połączenie i wywołaj :settimeout(30). W lua-resty-http użyj httpc:set_timeout(30000) (milisekundy). Limity czasu zapobiegają zawieszaniu się skryptów na nieresponujących serwerach.

Jak używać proxy w Lua?

Z LuaSocket ustaw pole proxy w opcjach żądania: http.request{ url = target, proxy = "http://proxy:8080" }. Dla lua-resty-http połącz się bezpośrednio z proxy i użyj metody CONNECT dla tunelowania HTTPS. curl2code konwertuje flagi -x na odpowiednią konfigurację proxy Lua.

Jak wysłać żądanie POST z ciałem JSON w języku Lua?

Konwertuj polecenie curl POST, takie jak curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL na kod Lua za pomocą curl2code. Wygenerowany kod używa http.request(url, json_body, headers). curl2code automatycznie wykrywa flagi -d/--data z zawartością JSON i ustawia odpowiedni nagłówek Content-Type w kodzie http.

Jak dodać autoryzację Bearer token w języku Lua?

Przekaż curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code, a narzędzie wygeneruje kod http z nagłówkiem autoryzacji: headers['Authorization'] = 'Bearer YOUR_TOKEN'. curl2code wykrywa tokeny Bearer zarówno z flag -H "Authorization: Bearer ...", jak i --oauth2-bearer. W przypadku Basic auth użyj -u user:pass.

Jak ustawić nagłówek Content-Type w języku Lua?

curl2code konwertuje curl -H "Content-Type: application/json" URL na kod http z właściwym nagłówkiem: headers['Content-Type'] = 'application/json'. Dla danych -d curl domyślnie ustawia application/x-www-form-urlencoded; dla przesyłania formularzy -F używa multipart/form-data. curl2code mapuje każde z nich na odpowiednie API http.

Przydatne linki

Poradniki curl

Konwertuj curl na inne języki