# cURL을 코드로 변환

cURL 명령을 붙여 넣으면 같은 요청을 fetch, Axios, Python requests, Go, PHP 코드로 보여 줍니다. 아무것도 실행하거나 전송하지 않습니다.

https://codeknife.dev/ko/curl-byeonhwan/

## 기능

cURL 명령을 fetch, Axios, Python requests, Go, PHP용 코드로 바꿉니다. 명령은 텍스트로만 읽으며, 아무것도 실행하거나 요청을 보내지 않습니다.

## 사용 방법

1. cURL 명령을 붙여 넣거나 텍스트 파일을 끌어다 놓으세요. 브라우저 네트워크 패널에서 복사한 명령(백슬래시 줄 이음 포함)도 사용할 수 있습니다.
2. **변환 대상**에서 언어를 고릅니다.
3. 코드를 복사하거나 내려받습니다. 변환하지 못한 옵션은 그 아래에 표시됩니다.

## 예시

`curl -u alice:s3cret https://api.example.com/private`은 fetch에서는 `Authorization: Basic YWxpY2U6czNjcmV0` 헤더가 붙은 요청이 되고, Python에서는 `auth=("alice", "s3cret")`가 됩니다.

## 알아두기

- 지원: 메서드(`-X`), 헤더(`-H`), 데이터(`-d`, `--data-raw`, `--data-binary`, `--data-urlencode`, `--json`), `-G`, 기본 인증(`-u`), 쿠키(`-b`), User-Agent(`-A`), Referer(`-e`).
- 같은 헤더를 두 번 주면 마지막 값이 유지됩니다. Content-Type이 없는 본문에는 cURL처럼 폼 타입이 붙습니다.
- 파일(`-d @file`), 업로드(`-F`), 프록시, TLS 옵션은 변환되지 않습니다. 코드가 무엇을 빠뜨렸는지 알 수 있도록 목록에 표시됩니다.
- 명령에는 토큰과 비밀번호가 들어 있는 경우가 많아, 이 도구는 광고를 표시하지 않고 붙여 넣은 내용의 기록이나 공유 링크도 남기지 않습니다.

## 붙여 넣은 명령은 어떻게 처리되나요?

명령은 셸처럼 단어로 나뉘며(실행되지는 않습니다), 메서드, 헤더, 데이터, 기본 인증, URL 같은 옵션을 읽습니다. 결과는 프로젝트에 붙여 넣을 수 있는 코드로 만들어집니다. -s나 --compressed처럼 요청을 바꾸지 않는 옵션은 변환되지 않음 목록에 표시됩니다.

## 자주 묻는 질문

### 명령을 실행하거나 요청을 보내나요?

아니요. 명령은 텍스트로만 읽혀 브라우저에서 코드로 바뀝니다. 아무것도 실행되지 않고 요청도 보내지 않습니다.

### 토큰이나 비밀번호가 들어 있는 명령을 붙여 넣어도 안전한가요?

텍스트는 브라우저 안에만 있고 우리 서버로 전송되지 않으며, 이 페이지에는 광고도 표시되지 않습니다. 그래도 코드를 공유하기 전에 실제 비밀 값은 자리 표시자로 바꾸고, 신뢰할 수 없는 곳에 붙여 넣은 토큰은 새로 발급하세요.

### 어떤 옵션을 지원하나요?

메서드(-X), 헤더(-H), 데이터(-d, --data-raw, --data-binary, --data-urlencode, --json), -G, 기본 인증(-u), 쿠키, User-Agent, Referer를 지원합니다. -d @body.json 같은 파일과 폼 업로드(-F)는 여기서 읽을 수 없어 변환되지 않음 목록에 표시됩니다.