tigtools

cURL → 코드 변환기

브라우저 개발자 도구나 API 문서에서 복사한 curl 명령 등을 붙여넣으면 해당 언어의 동등한 코드를 얻을 수 있습니다.

브라우저에서 실행 가입 불필요

언어

사용 방법

  1. 예를 들어 브라우저 개발자 도구(Network 탭에서 마우스 오른쪽 버튼 클릭 > Copy as cURL)나 API 문서에서 요청을 curl로 복사하세요.
  2. 상자에 붙여넣으세요. \를 사용한 줄 연속도 허용됩니다.
  3. JavaScript fetch, Node.js axios, Python requests 또는 PHP cURL 중 하나를 선택하세요.
  4. 코드 아래의 참고 사항을 확인한 다음 결과를 복사하거나 다운로드하세요.

작동 방식

변환기는 먼저 명령어를 POSIX 셸처럼 단어로 나눕니다. 작은따옴표, 백슬래시 이스케이프가 포함된 큰따옴표, $'…' 문자열, 백슬래시 줄 연속 표기법을 인식합니다. $TOKEN 같은 셸 변수는 확장하지 않고 텍스트로 유지합니다.

지원되는 curl 옵션: URL(또는 --url), -X/--request, -H/--header, -d/--data, --data-ascii, --data-raw, --data-binary, --data-urlencode, --json, -F/--form 및 --form-string(필드와 ;type=이 있는 @file 업로드), -u/--user, -G/--get, -I/--head, -A/--user-agent, -e/--referer, -b/--cookie(쿠키 문자열), -L/--location 및 --compressed. 짧은 옵션은 -sSL처럼 결합할 수 있고 값은 -XPOST처럼 붙여 쓸 수 있습니다.

규칙은 curl을 따릅니다. 여러 -d 값은 &로 연결됩니다. 데이터는 -X나 -G가 다르게 지정하지 않는 한 요청을 POST로 만듭니다. -G는 데이터를 URL에 쿼리 문자열로 추가합니다. --json은 Content-Type과 Accept 헤더를 application/json으로 설정합니다. 본문이 JSON이고 Content-Type이 그렇게 지정된 경우, 코드는 이스케이프된 문자열 대신 실제 객체(Python에서는 json=, PHP에서는 json_encode를 사용한 배열)를 전송합니다. multipart 폼의 경우 boundary가 올바르도록 Content-Type 헤더는 라이브러리에 맡깁니다.

-k/--insecure는 의도적으로 무시되며 이에 대한 안내가 표시됩니다. curl 자체 출력만 변경하는 옵션(-s, -S, -v, -i, -o, --fail 등)은 안내와 함께 무시됩니다. 그 밖의 옵션은 조용히 다른 동작을 하는 코드를 만드는 대신 해당 옵션 이름을 언급하는 명확한 오류를 표시합니다. 한 가지 차이가 남습니다. curl은 -L이 있을 때만 리디렉션을 따르지만 fetch, axios, requests는 기본적으로 리디렉션을 따릅니다. PHP 코드는 -L이 주어진 경우에만 리디렉션을 따릅니다.

이 도구는 코드만 생성합니다. 요청을 실제로 보내지 않으므로 명령어에 포함된 토큰과 비밀번호는 어디에도 사용되지 않습니다.

예시

브라우저 요청을 Python에서 재현하기

Chrome의 Network 탭에서 실패한 API 호출을 cURL로 복사하고 Python requests로 변환하세요. 헤더, 쿠키, JSON 본문이 그대로 옮겨져 스크립트에서 버그를 재현할 수 있습니다.

Node.js에서 API 문서 사용하기

API 문서에 “curl -u key: https://api.example.com/v1/charges -d amount=2000 -d currency=eur”가 표시된 경우, axios 버전은 auth: { username: "key", password: "" }와 form-encoded 본문을 사용합니다.

PHP에서 파일 업로드

“curl -F 'file=@invoice.pdf;type=application/pdf' -F 'note=March' https://x.io/upload”는 new CURLFile('invoice.pdf', 'application/pdf') 및 note 필드가 포함된 CURLOPT_POSTFIELDS로 변환됩니다.

자주 묻는 질문

이 도구가 내 요청을 전송하나요?

아니요. 명령 텍스트만 구문 분석하고 코드를 생성합니다. 요청이 전송되지 않으므로 명령에 포함된 API 키나 쿠키는 사용되거나 저장되지 않습니다.

왜 -k/--insecure는 변환되지 않나요?

인증서 검사를 끄면 연결이 가로채기에 노출됩니다. 생성된 코드는 검사를 유지하므로, 서버 인증서를 신뢰할 수 없다면 인증서나 신뢰 저장소를 수정하세요.

왜 “option is not supported” 오류가 표시되나요?

변환기는 의미를 정확히 재현할 수 있는 옵션만 변환합니다. 프록시, 클라이언트 인증서, 쿠키 저장소 및 유사한 옵션은 curl과 다르게 동작하는 코드가 생성되지 않도록 거부됩니다.

Windows cmd 명령과도 작동하나요?

“cURL (bash)”로 복사한 명령이 가장 잘 작동합니다. Windows cmd는 줄 연속에 ^를 사용하고 따옴표 규칙이 다릅니다. 줄 끝의 ^는 허용되지만 다른 cmd 이스케이프는 허용되지 않을 수 있습니다.

개인정보 보호

명령은 브라우저에서만 분석되며 요청은 전송되지 않습니다. 어떤 내용도 업로드, 저장, 분석에 포함되지 않습니다.