curl을 Kotlin(으)로 변환
curl2code는 OkHttp를 사용하여 curl 명령을 Kotlin 코드로 변환합니다. 변환은 완전한 개인 정보 보호를 위해 WebAssembly를 통해 브라우저에서 실행됩니다. Java의 경우 curl to Java 변환기를 확인하세요. Swift (iOS)의 경우 curl to Swift를 참조하세요. 아래는 실용적인 Kotlin 예제입니다.
브라우저에서 curl을 복사하는 방법
- 1
DevTools 열기
F12 또는 Ctrl+Shift+I를 눌러 브라우저 개발자 도구를 엽니다.
- 2
Network 탭으로 이동
Network 탭을 클릭하고 HTTP 요청을 트리거하는 동작을 수행합니다.
- 3
cURL로 복사
요청을 마우스 오른쪽 버튼으로 클릭 → Copy → Copy as cURL을 선택합니다. 그런 다음 위에 붙여넣으세요.
자주 묻는 질문 (FAQ)
Kotlin OkHttp란 무엇인가요?
OkHttp는 Square에서 개발한 Kotlin 및 Java용으로 널리 사용되는 HTTP 클라이언트입니다. 커넥션 풀링, 투명한 GZIP, 응답 캐싱 및 HTTP/2 지원을 특징으로 합니다. implementation("com.squareup.okhttp3:okhttp:4.x")로 추가합니다. curl2code가 Kotlin 변환에 사용하는 기본 라이브러리이며 Android의 표준 HTTP 클라이언트입니다.
OkHttp vs Ktor Client vs Fuel — 어떤 것을 사용해야 하나요?
OkHttp는 특히 Android에서 업계 표준입니다. Ktor Client는 코루틴 지원 및 멀티플랫폼 기능을 갖춘 Kotlin 우선 라이브러리입니다. Fuel은 깔끔한 Kotlin DSL을 갖춘 경량 라이브러리입니다. Android의 경우 OkHttp(주로 Retrofit을 통해)가 기본 선택입니다. JVM 비교는 curl to Java 변환기를 참조하세요.
Kotlin에서 인증을 처리하는 방법은 무엇인가요?
헤더를 추가합니다: request.addHeader("Authorization", "Bearer $token"). Basic 인증의 경우 Credentials.basic(user, pass) 유틸리티를 사용합니다. OkHttp는 401 응답 시 자격 증명으로 자동 재시도하기 위한 Authenticator 인터페이스도 지원합니다. curl2code는 -u 및 Bearer 플래그를 자동으로 처리합니다.
Kotlin에서 멀티파트 폼 데이터를 보내는 방법은 무엇인가요?
OkHttp의 MultipartBody.Builder()를 사용합니다: 파일의 경우 .addFormDataPart("file", filename, fileBody), 필드의 경우 .addFormDataPart("key", "value")를 사용합니다. .setType(MultipartBody.FORM)을 설정합니다. curl2code는 -F 플래그를 올바른 OkHttp 멀티파트 빌더 코드로 변환합니다.
Kotlin에서 HTTP 오류를 처리하는 방법은 무엇인가요?
2xx 상태인지 response.isSuccessful을 확인하거나 response.code를 읽습니다. OkHttp는 네트워크 실패 시 IOException을 발생시킵니다. 깔끔한 오류 처리를 위해 Kotlin의 runCatching { } 또는 try/catch를 사용하세요. 리소스 누수를 방지하기 위해 항상 .use { } 블록으로 응답 바디를 닫으세요.
OkHttp에서 코루틴을 사용하는 방법은 무엇인가요?
블로킹 OkHttp 호출을 withContext(Dispatchers.IO) { client.newCall(request).execute() }로 감쌉니다. 또는 진정한 비동기를 위해 suspendCancellableCoroutine와 함께 enqueue() 확장을 사용하세요. Ktor Client는 네이티브 코루틴 지원이 내장되어 있습니다. 유사한 비동기 패턴은 curl to Swift(async/await)를 참조하세요.
Kotlin OkHttp에서 타임아웃을 설정하는 방법은 무엇인가요?
클라이언트에서 구성합니다: OkHttpClient.Builder().connectTimeout(10, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).writeTimeout(30, TimeUnit.SECONDS).build(). 재시도의 경우 실패 시 재시도하는 인터셉터를 추가합니다. 이는 curl의 --connect-timeout 및 --max-time에 매핑됩니다.
OkHttp에서 프록시를 사용하는 방법은 무엇인가요?
클라이언트 빌더에서 설정합니다: OkHttpClient.Builder().proxy(Proxy(Proxy.Type.HTTP, InetSocketAddress("proxy", 8080))).build(). 인증의 경우 proxyAuthenticator를 추가합니다. OkHttp는 Proxy.Type.SOCKS를 통한 SOCKS 프록시도 지원합니다. curl2code는 -x 플래그를 이 구성으로 변환합니다.
Kotlin에서 JSON 바디를 포함한 POST 요청을 보내는 방법은 무엇인가요?
curl2code를 사용하여 curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL과 같은 curl POST 명령어를 Kotlin으로 변환하세요. 생성된 코드는 RequestBody.create(MediaType.parse("application/json"), json)를 사용합니다. curl2code는 JSON 콘텐츠가 포함된 -d/--data 플래그를 자동으로 감지하고 OkHttp 코드에 적절한 Content-Type 헤더를 설정합니다.
Kotlin에서 Bearer 토큰 인증을 추가하는 방법은 무엇인가요?
curl -H "Authorization: Bearer YOUR_TOKEN" URL을 curl2code에 입력하면 .addHeader("Authorization", "Bearer YOUR_TOKEN")와 같은 인증 헤더가 포함된 OkHttp 코드가 생성됩니다. curl2code는 -H "Authorization: Bearer ..." 및 --oauth2-bearer 플래그 모두에서 Bearer 토큰을 감지합니다. Basic auth의 경우 -u user:pass를 사용하세요.
Kotlin에서 Content-Type 헤더를 설정하는 방법은 무엇인가요?
curl2code는 curl -H "Content-Type: application/json" URL을 적절한 헤더가 포함된 OkHttp 코드로 변환합니다: .addHeader("Content-Type", "application/json"). -d 데이터의 경우 curl은 기본적으로 application/x-www-form-urlencoded를 사용하며, -F 폼 업로드의 경우 multipart/form-data를 사용합니다. curl2code는 각각을 올바른 OkHttp API에 매핑합니다.