curl을 Lua(으)로 변환
curl2code는 http 라이브러리를 사용하여 curl 명령을 Lua 코드로 변환합니다. 변환은 완전한 개인 정보 보호를 위해 WebAssembly를 통해 브라우저에서 실행됩니다. Python의 경우 curl to Python 변환기를 확인하세요. Ruby의 경우 curl to Ruby를 참조하세요. 아래는 실용적인 Lua 예제입니다.
브라우저에서 curl을 복사하는 방법
- 1
DevTools 열기
F12 또는 Ctrl+Shift+I를 눌러 브라우저 개발자 도구를 엽니다.
- 2
Network 탭으로 이동
Network 탭을 클릭하고 HTTP 요청을 트리거하는 동작을 수행합니다.
- 3
cURL로 복사
요청을 마우스 오른쪽 버튼으로 클릭 → Copy → Copy as cURL을 선택합니다. 그런 다음 위에 붙여넣으세요.
자주 묻는 질문 (FAQ)
Lua http란 무엇인가요?
lua-http(또는 LuaSocket의 socket.http)는 Lua에서 HTTP 요청을 만드는 표준 방식입니다. 기본적인 GET, POST 및 커스텀 요청 메서드를 제공합니다. 더 많은 기능을 위해 OpenResty/Nginx 환경에서는 lua-resty-http가 인기가 많습니다. luarocks install http로 설치합니다. curl2code는 http 모듈을 사용하여 코드를 생성합니다.
socket.http vs lua-resty-http vs lua-curl — 어떤 것을 사용해야 하나요?
socket.http(LuaSocket)는 일반적인 Lua의 표준입니다. lua-resty-http는 비차단 I/O를 사용하는 OpenResty/Nginx용입니다. lua-curl은 전체 프로토콜 지원을 위해 libcurl을 래핑합니다. 독립 실행형 스크립트에는 socket.http를, 웹 서버에는 resty-http를 사용하세요. 유사한 스크립팅은 curl to Python 또는 curl to Ruby를 참조하세요.
Lua에서 인증을 처리하는 방법은 무엇인가요?
헤더 테이블에 Authorization 헤더를 설정합니다: headers = { Authorization = "Bearer token" }. Basic 인증의 경우 base64 라이브러리로 인코딩합니다: "Basic " .. base64.encode(user .. ":" .. pass). 헤더를 요청 옵션 테이블에 전달합니다. curl2code는 -u 및 헤더 플래그를 처리합니다.
Lua에서 멀티파트 폼 데이터를 보내는 방법은 무엇인가요?
경계 문자열을 사용하여 멀티파트 바디를 수동으로 구성하거나 multipart-post와 같은 헬퍼 라이브러리를 사용합니다. 경계와 함께 Content-Type 헤더를 설정합니다. LuaSocket의 http.request는 대용량 업로드 스트리밍을 위한 소스 함수를 허용합니다. curl2code는 -F 플래그를 Lua 구문으로 변환합니다.
Lua에서 HTTP 오류를 처리하는 방법은 무엇인가요?
LuaSocket의 http.request는 여러 값을 반환합니다: body, code, headers, status = http.request(url). HTTP 상태(200, 404 등)는 code를 확인하고, 네트워크 실패 시에는 nil을 확인하세요. 오류 확인을 위해 Lua의 assert() 또는 if not body then 패턴을 사용하세요.
Lua에서 JSON을 파싱하는 방법은 무엇인가요?
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의 경우 프록시에 직접 연결하고 HTTPS 터널링을 위해 CONNECT 메서드를 사용합니다. curl2code는 -x 플래그를 적절한 Lua 프록시 설정으로 변환합니다.
Lua에서 JSON 바디를 포함한 POST 요청을 보내는 방법은 무엇인가요?
curl2code를 사용하여 curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL과 같은 curl POST 명령어를 Lua로 변환하세요. 생성된 코드는 http.request(url, json_body, headers)를 사용합니다. curl2code는 JSON 콘텐츠가 포함된 -d/--data 플래그를 자동으로 감지하고 http 코드에 적절한 Content-Type 헤더를 설정합니다.
Lua에서 Bearer 토큰 인증을 추가하는 방법은 무엇인가요?
curl -H "Authorization: Bearer YOUR_TOKEN" URL을 curl2code에 입력하면 headers['Authorization'] = 'Bearer YOUR_TOKEN'와 같은 인증 헤더가 포함된 http 코드가 생성됩니다. curl2code는 -H "Authorization: Bearer ..." 및 --oauth2-bearer 플래그 모두에서 Bearer 토큰을 감지합니다. Basic auth의 경우 -u user:pass를 사용하세요.
Lua에서 Content-Type 헤더를 설정하는 방법은 무엇인가요?
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에 매핑합니다.