cURL 변환기

cURL 명령어를 fetch·axios·Python·Node·Go 5 언어로 즉시 변환. 한국 API 12개 예시.

2026년 9월 기준 점검curl 공식 매뉴얼 옵션 정의 · WHATWG Fetch 금지 헤더 · 각 언어 표준 HTTP 클라이언트 문서출처 curl 매뉴얼(새 창) ·Everything curl(새 창) ·MDN 금지 요청 헤더(새 창) ·Go net/http(새 창)작성 리만 (Youtil 운영자)

변환 범위
cURL 파싱·코드 생성은 모두 브라우저에서 실행되며 입력한 명령·토큰은 외부로 전송되지 않습니다. TLS 인증서(--cert)·프록시(--proxy)·파일 본문(-d @파일) 등 일부 옵션은 코드에 옮기지 못하며, 파싱 결과에 따로 표시됩니다. 생성된 코드는 일반적인 경우를 가정한 출발점이므로 운영 환경에 넣기 전 반드시 테스트하고, Authorization·API 키 같은 민감 헤더는 환경 변수로 옮기세요. 분야별 안내는 면책조항을 참고하세요.
POSThttps://api.example.com/users헤더 2body: json
출력 옵션
비동기 스타일 (JS)
🟨 JavaScript (fetch)
const response = await fetch("https://api.example.com/users", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_TOKEN",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
      "name": "홍길동",
      "email": "test@example.com"
    })
  })
const data = await response.json()
console.log(data)
🟦 JavaScript (axios)
import axios from 'axios'

const response = await axios({
  method: "post",
  url: "https://api.example.com/users",
  headers: {
    "Authorization": "Bearer YOUR_TOKEN",
    "Content-Type": "application/json"
  },
  data: {
    "name": "홍길동",
    "email": "test@example.com"
  }
})
console.log(response.data)
🐍 Python (requests)
import requests

response = requests.post(
    'https://api.example.com/users',
    headers={
        'Authorization': 'Bearer YOUR_TOKEN',
        'Content-Type': 'application/json'
    },
    json={
      "name": "홍길동",
      "email": "test@example.com"
    }
)
data = response.json()
print(data)
🟩 Node.js (http/https)
const https = require('https')

const body = JSON.stringify({
  "name": "홍길동",
  "email": "test@example.com"
})

const url = new URL("https://api.example.com/users")
const options = {
  hostname: url.hostname,
  port: url.port || 443,
  path: url.pathname + url.search,
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_TOKEN",
    "Content-Type": "application/json",
    'Content-Length': Buffer.byteLength(body)
  }
}

const req = https.request(options, (res) => {
  let chunks = []
  res.on('data', (chunk) => chunks.push(chunk))
  res.on('end', () => {
    const data = Buffer.concat(chunks).toString()
    console.log(JSON.parse(data))
  })
})
req.write(body)
req.end()
🐹 Go (net/http)
package main

import (
  "fmt"
  "io"
  "net/http"
  "bytes"
)

func main() {
  body := bytes.NewReader([]byte(`{
    "name": "홍길동",
    "email": "test@example.com"
  }`))

  req, err := http.NewRequest("POST", "https://api.example.com/users", body)
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  req.Header.Set("Authorization", "Bearer YOUR_TOKEN")
  req.Header.Set("Content-Type", "application/json")

  resp, err := http.DefaultClient.Do(req)
  if err != nil {
    fmt.Println("Request failed:", err)
    return
  }
  defer resp.Body.Close()

  data, _ := io.ReadAll(resp.Body)
  fmt.Println(string(data))
}
가이드

알아두면 좋은 내용

리만 작성 · Youtil 운영자 소개
최종 업데이트 2026.09.26 · 읽는 시간 약 18분

어떻게 사용하나요?

  1. 변환 탭 — cURL을 붙여넣으면 5개 언어 코드가 동시에 나옵니다. async/await, try/catch 오류 처리, 민감 헤더 마스킹을 옵션으로 고를 수 있습니다.
  2. 요청 구조 탭 — 메서드·URL·쿼리·헤더·인증·쿠키·본문을 나눠 보여 주고, Content-Type을 자동으로 판별합니다. 코드가 기대와 다르면 여기서 도구가 명령을 어떻게 읽었는지 먼저 확인하세요.
  3. 예시 탭 — 카카오·네이버·토스·쿠팡·GitHub·OpenAI·Slack·AWS·GraphQL·multipart 등 12개 카드를 누르면 바로 입력됩니다.
  4. 가이드 탭 — 옵션 요약, 언어별 비교, 미지원 옵션, 보안 주의를 도구 안에서 바로 볼 수 있습니다.
브라우저에서 요청 복사하기
Chrome·Edge·Firefox 개발자 도구 → Network 탭 → 요청 우클릭 → Copy as cURL 결과를 그대로 붙여넣으면 됩니다. Windows에서는 cmd용이 아닌 bash용 복사를 고르세요. 입력은 자동 저장되지만 Authorization·Cookie 같은 민감 헤더가 든 입력은 저장하지 않습니다.

도구가 cURL을 해석하는 규칙

cURL은 메서드를 적지 않아도 다른 옵션으로 요청 방식을 정합니다. 이 도구는 메서드를 다음 순서로 결정합니다. ① -X로 지정한 값 → ② -I면 HEAD → ③ -G면 GET → ④ 본문 옵션(-d·--data-*·--json·-F)이 있으면 POST → ⑤ 그 밖에는 GET. 그래서 -X PUT -d …는 PUT, -d …만 있으면 POST가 됩니다.

본문 형식은 Content-Type 헤더가 있으면 그 값을 따르고, 없으면 본문 모양으로 추정합니다. key=value&key2=value2 꼴이면 폼(urlencoded),{나 [로 시작하는 올바른 JSON이면 JSON, 둘 다 아니면 원문 그대로 보냅니다.-F가 하나라도 있으면 multipart가 우선하고, Content-Type이 JSON인데 본문이 JSON 문법에 맞지 않으면 원문 전송 코드로 바꾸고 경고를 띄웁니다. 아래 표는 이 페이지를 만들 때 도구의 파서로 직접 돌린 결과입니다.

입력한 cURL메서드본문Content-Type비고
curl https://api.example.com/usersGET없음—옵션이 없으면 curl도 GET
curl -d 'name=kim&age=30' https://api.example.com/usersPOST폼 (urlencoded)application/x-www-form-urlencodedcurl과 같음 — -d가 있으면 POST + 폼 Content-Type
curl -d '{"name":"kim"}' https://api.example.com/usersPOSTJSONapplication/jsoncurl 자체는 폼 Content-Type으로 보냄 — 도구는 본문 모양을 보고 JSON으로 추정
curl --json '{"name":"kim"}' https://api.example.com/usersPOSTJSONapplication/jsoncurl 7.82+ 단축 옵션 — Accept: application/json도 함께
curl -G -d 'q=coffee' -d 'page=2' https://api.example.com/searchGET없음—본문이 쿼리 문자열로 이동 → https://api.example.com/search?q=coffee&page=2
curl -F 'file=@photo.jpg' -F 'title=trip' https://api.example.com/uploadPOSTmultipartboundary 포함 자동 생성파일은 자리표시 코드 — 실제 경로·파일 입력은 직접 연결
curl -I https://api.example.com/healthHEAD없음—본문 대신 fetch·Node 코드는 상태·헤더, Python 코드는 헤더를 출력 — axios·Go 코드는 빈 본문을 출력하므로 상태·헤더(response.status·headers, resp.Status·Header)로 바꿔 쓰기
curl -d @body.json https://api.example.com/usersPOST없음—메서드는 POST로 맞추지만 파일 내용은 직접 읽어 넣어야 함 (경고 표시)
원본 명령과 달라질 수 있는 한 가지
실제 curl은 본문 내용을 해석하지 않으므로, Content-Type 없이 -d '{"name":"kim"}'를 보내면 서버에는 application/x-www-form-urlencoded로 전달됩니다. 이 도구는 JSON 본문을 보면 application/json을 붙여 주는데, 원래 명령이 폼 형식으로 서버에서 통하고 있었다면 결과가 달라질 수 있습니다. 원본 그대로 재현하려면 cURL에 -H 'Content-Type: …'를 명시한 뒤 변환하세요.

cURL 옵션 치트시트 — 도구가 반영하는 범위

짧은 형식과 긴 형식을 모두 인식하며, --header=값처럼 등호로 붙인 긴 옵션도 읽습니다. ‘표시만’인 옵션은 요청 구조 탭에 표시되지만 생성 코드에는 넣지 않습니다. 특히 -k를 코드에 그대로 옮기면 운영 환경에서 중간자 공격을 막는 인증서 검증이 꺼진 채 남기 쉬워서 일부러 제외했습니다.

짧은 형식긴 형식curl에서의 의미이 도구의 처리
-X--requestHTTP 메서드 지정반영
-H--header요청 헤더 추가반영
-d--data본문 전송 (메서드 미지정 시 POST)반영 · @파일은 경고
—--data-raw본문 전송 (@를 파일로 해석하지 않음)반영
—--data-binary본문을 가공 없이 전송반영 · @파일은 경고
—--data-urlencode값을 URL 인코딩해 전송반영
—--jsonJSON 본문 + Content-Type·Accept 헤더반영
-F--formmultipart/form-data 필드·파일반영 · 파일은 자리표시
-u--userBasic 인증 (user:pass)반영
-b--cookieCookie 헤더 (name=value; …)반영
-A--user-agentUser-Agent 헤더반영
-e--refererReferer 헤더반영
-G--get-d 본문을 쿼리 문자열로 옮겨 GET반영
-I--headHEAD 요청 (응답 헤더만)반영
-k--insecureTLS 인증서 검증 끄기표시만 — 코드엔 넣지 않음
-L--location리다이렉트 따라가기표시만
—--compressed압축 응답 요청·해제표시만
-s -S -v -i—진행·로그 출력 제어무시
-m--max-time전체 요청 제한 시간건너뜀 (경고) — 타임아웃은 직접 추가

5 언어 차이 — fetch · axios · Python · Node.js · Go

같은 요청이라도 언어마다 ‘오류’로 보는 기준과 기본 동작이 다릅니다. 변환된 코드를 고를 때는 실행 환경뿐 아니라 HTTP 오류 상태를 예외로 던지는지, 타임아웃이 기본으로 걸려 있는지를 함께 보세요.

코드주로 쓰는 곳장점주의할 점
fetch브라우저 · Node 18+ 내장의존성 없음, 웹 표준4xx·5xx에도 reject하지 않음 → response.ok 확인. JSON은 .json() 호출
axios브라우저 · Node (npm 설치)인터셉터, 자동 JSON 변환, AbortController 취소2xx가 아니면 기본적으로 예외. 번들 크기 증가
Python requests스크립트 · 자동화 · 백엔드json= · data= · files=로 본문 구분동기 전용. 4xx·5xx도 예외 없음 → raise_for_status(). 기본 타임아웃 없음
Node http/https의존성 없는 Node 스크립트저수준 제어, 추가 설치 없음리다이렉트·압축 해제·JSON 파싱을 직접 처리. 본문은 스트림으로 모아야 함
Go net/http백엔드 · CLI표준 라이브러리, 동시 요청에 강함http.DefaultClient는 타임아웃 없음. resp.Body.Close() 필수

변환 후 동작이 달라지는 지점 — 리다이렉트·압축·TLS·쿠키

코드가 문법적으로 같아도 HTTP 클라이언트의 기본값이 curl과 달라서 결과가 바뀌는 경우가 있습니다. cURL에서 잘 되던 요청이 변환 후 다른 응답을 받는다면 아래 네 가지를 먼저 의심해 보세요.

항목cURLfetch (브라우저)Python requestsNode http/httpsGo net/http
리다이렉트-L 없으면 따라가지 않음기본으로 따라감 (redirect: follow)기본으로 따라감 (head()는 예외)따라가지 않음최대 10회 따라감
압축 응답--compressed 없으면 요청·해제 안 함브라우저가 처리 (Accept-Encoding 설정 불가)gzip·deflate 자동 해제 (br·zstd는 brotli·zstandard 패키지가 있을 때만)해제하지 않음 (zlib로 직접)Accept-Encoding을 직접 넣지 않았을 때만 자동 해제 (Transport가 gzip 요청)
TLS 검증 끄기-k끌 수 없음verify=FalserejectUnauthorized: falseInsecureSkipVerify: true
Cookie · Referer 헤더-b · -e로 전송금지 헤더라 무시됨 → credentials·referrer 옵션그대로 전송그대로 전송그대로 전송

리다이렉트 — curl은 -L이 없으면 301·302 응답을 그대로 돌려주지만, fetch·requests·Go는 기본으로 새 주소를 따라갑니다. 로그인 후 리다이렉트처럼 3xx 응답 자체를 봐야 한다면 Node.js fetch는 redirect: 'manual', requests는 allow_redirects=False를 지정하세요. 브라우저 fetch는 manual로 두어도 보안상 Location 헤더를 읽을 수 없습니다. axios는 브라우저에서는 브라우저 규칙을 따르고, Node.js에서는 기본 21회까지 따라갑니다.

압축 — 복사한 cURL에 Accept-Encoding: gzip, deflate, br 헤더가 남아 있으면 Go·Node http 코드는 압축된 바이트를 그대로 받습니다. Go는 헤더를 직접 넣은 요청의 응답을 자동으로 풀지 않고, Node http는 원래 풀지 않기 때문입니다. Python requests도 gzip·deflate만 기본으로 풀고, br·zstd 응답은 brotli·zstandard 패키지가 설치돼 있지 않으면 압축된 채로 넘겨줍니다(최근 브라우저 복사본은 zstd까지 적습니다). 어느 경우든 JSON 파싱이 실패하므로 이 헤더를 지우고 각 클라이언트가 스스로 압축을 협상하게 두는 것이 가장 간단합니다.

쿠키 — 브라우저의 fetch는 Cookie·Referer·Accept-Encoding 같은 금지 헤더를 스크립트가 설정해도 조용히 무시합니다. 브라우저 코드에서 쿠키를 보내려면 헤더 대신 credentials: 'include'를 쓰고, 다른 도메인이면 서버의 CORS 설정(Access-Control-Allow-Credentials)도 맞아야 합니다.

생성 코드를 운영에 옮기기 전 점검할 것

  • 타임아웃 — curl의 -m/--max-time은 코드에 옮기지 않습니다. requests는 timeout 인자가 없으면 응답을 무기한 기다리고, 생성된 Go 코드가 쓰는 http.DefaultClient도 타임아웃이 없습니다. requests.get(…, timeout=10), &http.Client{Timeout: 10 * time.Second}, fetch는 signal: AbortSignal.timeout(10000)처럼 명시하세요.
  • 오류 판정 — fetch와 requests는 404·500에도 예외를 던지지 않습니다. try/catch 옵션을 켜면 Python은 raise_for_status(), fetch는 async / await 모드일 때 response.ok로 상태를 검사하는 코드가 함께 생성됩니다. Promise then 모드의 fetch 코드에는 이 검사가 없으니 첫 .then에 직접 넣으세요.
  • 응답 형식 — fetch·Python·Node 코드는 응답을 JSON으로 읽습니다. HTML이나 일반 텍스트를 돌려주는 API라면 fetch는 .text(), Python은 response.text로 바꾸고, Node는 JSON.parse를 빼고 모은 Buffer 문자열을 그대로 쓰세요.
  • Basic 인증 — -u user:pass는 fetch·Node 코드에서 변환 시점에 계산한 Base64 문자열로 들어갑니다. Base64는 암호화가 아니므로 HTTPS로만 보내고, 비밀번호가 바뀌면 다시 변환하거나 코드에서 계산하도록 고치세요.

코드에 반영되지 않는 옵션

아래 옵션은 파일 시스템, 인증서 저장소, 네트워크 경로처럼 실행 환경에 달린 설정이라 코드 한 줄로 옮기기 어렵습니다. 명령에 들어 있으면 파싱 결과에 따로 표시되고, 값까지 함께 건너뛰므로 URL이 잘못 잡히지는 않습니다. 필요한 경우 각 언어의 클라이언트 설정으로 직접 옮기세요.

생성 코드에 들어가지 않는 cURL 옵션
  • 파일 본문 -d @파일·--data-binary @파일·--json @파일 — 메서드만 POST로 맞추고 본문은 직접 연결 (multipart -F file=@…는 지원)
  • TLS 인증서 --cert/-E·--key·--cacert·--cert-type
  • 프록시 --proxy/-x·--proxy-user·--socks4·--socks5
  • 파일 저장 -o·-O·-J, 업로드 -T/--upload-file
  • 범위·이어받기 -r/--range·-C/--continue-at
  • DNS 고정 --resolve·--connect-to, 전송 제어 --limit-rate·--no-buffer

한국 API 자주 쓰는 시나리오

예시 탭에는 국내 백엔드 개발에서 자주 만나는 API 5개가 들어 있습니다. 인증 방식이 서로 달라서, 각 방식이 언어별 코드로 어떻게 바뀌는지 비교해 보기 좋습니다.

  • 카카오 메시지 보내기 — Bearer 토큰 헤더 + form-urlencoded 본문
  • 카카오 OAuth 토큰 발급 — 인가 코드(authorization_code)를 액세스 토큰으로 교환
  • 네이버 검색 API — X-Naver-Client-Id·X-Naver-Client-Secret 헤더 두 개로 인증
  • 토스페이먼츠 결제 승인 — 시크릿 키 Basic 인증 + JSON 본문
  • 쿠팡 파트너스 검색 — HMAC-SHA256 서명 헤더 (서명은 요청마다 새로 계산해야 함)
자리표시 값 바꾸기
YOUR_TOKEN·YOUR_CLIENT_ID 같은 자리표시 값은 환경 변수로 바꿔 쓰세요. 예: Node.js process.env.KAKAO_TOKEN, Python os.environ["NAVER_CLIENT_ID"].

자주 묻는 질문

fetch와 axios 중 어떤 코드를 쓰는 게 좋나요?
의존성을 늘리고 싶지 않다면 fetch가 기본입니다. 브라우저와 Node.js 18 이상에 내장된 표준 API라 설치가 필요 없습니다. 대신 4xx·5xx 응답에도 Promise가 reject되지 않으므로 response.ok를 직접 확인해야 하고, JSON은 .json()으로 꺼내야 합니다.
axios는 요청·응답 인터셉터, 자동 JSON 변환, 2xx 외 상태 코드의 예외 처리, AbortController 기반 취소를 기본으로 제공합니다. 인증 토큰 자동 첨부·재시도처럼 공통 처리가 많은 프로젝트라면 axios가 편하고, 단순 호출이라면 fetch로 충분합니다.
Python에서 requests와 httpx는 무엇이 다른가요?
requests는 가장 널리 쓰이는 동기(sync) HTTP 클라이언트입니다. httpx는 requests와 거의 같은 사용법에 동기·비동기(httpx.AsyncClient)를 모두 지원해 FastAPI 같은 비동기 프로젝트에 어울립니다. HTTP/2도 쓸 수 있지만 기본값은 HTTP/1.1이며, pip install "httpx[http2]"로 h2 패키지를 설치하고 http2=True로 켜야 합니다.
이 도구는 requests 코드를 생성합니다. httpx로 옮길 때는 import requests를 import httpx로, requests.post(...)를 httpx.post(...)로 바꾸면 대부분 그대로 동작합니다. 단 httpx는 기본적으로 리다이렉트를 따라가지 않으므로 필요하면 follow_redirects=True를 추가하세요.
Node.js에서 fetch는 언제부터 쓸 수 있나요?
Node.js 18(2022년 4월)부터 fetch가 전역으로 들어 있어 node-fetch 패키지가 필요 없습니다. Node 18~20에서는 실험적(experimental) 기능이지만 플래그 없이 기본 활성화돼 있고, Node 21부터 안정(stable)으로 표시됩니다. Node 16 이하라면 npm i node-fetch 후 import fetch from 'node-fetch'를 추가하거나, 이 도구의 axios 또는 Node http 코드를 쓰세요.
여러 줄로 된 cURL(줄 끝 \)도 붙여넣을 수 있나요?
네. 브라우저 개발자 도구의 "Copy as cURL"이 만드는 여러 줄 형식을 그대로 붙여넣으면 됩니다. 백슬래시+줄바꿈(셸 표준), 백슬래시+CRLF(Windows에서 복사한 경우), 한 줄 형식을 모두 읽고, 본문에 작은따옴표·줄바꿈이 있을 때 Chrome이 쓰는 $'…' 인용도 풀어서 해석합니다. -sSL처럼 붙여 쓴 짧은 옵션과 -XPUT처럼 값을 붙인 옵션도 나눠 읽습니다. 다만 셸을 완전히 흉내 내지는 않으므로 $VAR 변수 치환이나 $(…) 명령 치환은 처리하지 않습니다.
-F로 파일을 올리는 multipart 명령은 어떻게 변환되나요?
multipart 구조는 5개 언어 모두 변환되고, 파일 자체는 자리표시 코드로 들어갑니다. fetch·axios는 FormData에 브라우저 파일 입력(fileInput.files[0])을 넣는 형태, Python은 files=에 open('photo.jpg', 'rb'), Node.js는 form-data 패키지와 fs.createReadStream, Go는 mime/multipart와 os.Open을 쓰는 코드가 만들어집니다.
multipart는 본문 구분자(boundary)가 Content-Type 헤더에 들어가야 하므로 라이브러리가 헤더를 직접 만들어야 합니다. 원본에 -H 'Content-Type: multipart/form-data'가 있으면 boundary가 빠져 서버가 본문을 못 읽기 때문에, 이 도구는 multipart일 때 입력한 Content-Type을 5개 언어 코드 모두에서 뺍니다.
-d @body.json처럼 파일에서 본문을 읽는 명령은 왜 경고가 뜨나요?
브라우저 안에서 도는 변환기는 사용자 컴퓨터의 파일을 읽을 수 없어서 본문을 코드에 옮길 수 없습니다. 이 도구는 메서드를 curl과 같이 POST로 맞추고 경고를 띄우므로, 생성된 코드에 본문을 직접 연결하세요. 예를 들어 Python은 data=open('body.json', 'rb'), Node.js는 fs.readFileSync('body.json'), Go는 os.Open("body.json")으로 연 파일을 요청 본문에 넘기면 됩니다. multipart 파일 업로드(-F file=@…)는 이와 달리 자리표시 코드까지 생성됩니다.
Authorization 토큰은 생성된 코드에서 어떻게 다뤄야 하나요?
토큰을 코드에 그대로 두지 말고 환경 변수로 옮기는 것이 원칙입니다. Node.js는 process.env.API_TOKEN과 .env 파일(.gitignore에 등록), Python은 os.environ['API_TOKEN']과 python-dotenv, Go는 os.Getenv("API_TOKEN")을 씁니다. 브라우저용 fetch·axios 코드에 비밀 키를 넣으면 누구나 개발자 도구로 볼 수 있으므로 반드시 백엔드를 거쳐 호출하세요. CI에서는 GitHub Actions Secrets 같은 저장소 비밀값, 운영 환경에서는 시크릿 매니저를 쓰는 편이 안전합니다. 화면 공유·캡처가 걱정되면 마스킹 옵션을 켜 코드 속 민감 헤더를 ***로 가리세요.
GraphQL 요청도 변환되나요?
네. GraphQL은 보통 query·variables 필드를 가진 JSON을 POST로 보내는 일반 HTTP 요청이라 그대로 변환됩니다. 예시 탭의 GraphQL 카드를 적용해 보세요. 캐시·타입 생성이 필요한 앱이라면 Apollo Client, urql, graphql-request 같은 전용 클라이언트를 검토하는 것이 좋습니다.
AWS S3 cURL을 변환하면 바로 쓸 수 있나요?
구조는 변환되지만 그대로 재사용하기는 어렵습니다. AWS Signature V4 서명(Authorization, x-amz-date, x-amz-content-sha256)은 요청 시각과 본문 해시를 넣어 계산하므로, 복사한 서명은 시간이 지나거나 본문이 바뀌면 거부됩니다. 이 도구는 헤더를 있는 그대로 옮기므로 학습·디버깅용으로 쓰고, 실제 코드는 서명을 자동으로 계산하는 SDK(JavaScript @aws-sdk/client-s3, Python boto3, Go aws-sdk-go-v2)를 쓰세요.
입력한 cURL이나 토큰이 서버로 전송되나요?
아니요. 파싱과 코드 생성 모두 브라우저 안의 자바스크립트로 처리되며, 변환할 때 네트워크 요청이 발생하지 않습니다(개발자 도구 Network 탭에서 확인할 수 있습니다). 재방문 편의를 위해 입력과 옵션을 이 브라우저의 localStorage에 저장하지만, Authorization·Cookie·API 키 헤더나 -u 인증이 든 입력은 저장하지 않고 옵션만 저장합니다. 공용 PC에서 썼다면 개발자 도구 → Application → Local Storage에서 youtil_curl_v1 키를 지우세요.

참고 자료

  1. curl 매뉴얼(새 창)curl.se
  2. Everything curl(새 창)everything.curl.dev
  3. MDN 금지 요청 헤더(새 창)developer.mozilla.org
  4. Go net/http(새 창)pkg.go.dev
이 계산기를 만든 사람 · 리만Youtil 운영자 · 혼자 만들고 운영하는 1인 서비스입니다
운영자 소개
계산 기준
curl 공식 매뉴얼 옵션 정의 · WHATWG Fetch 금지 헤더 · 각 언어 표준 HTTP 클라이언트 문서
오류 제보
결과가 다르면 contact@youtil.kr로 입력 조건을 알려 주세요. 평일 기준 1~3일 안에 답변합니다.

함께 쓰면 좋은 계산기