curl을 Java(으)로 변환

최신 HttpClient API를 사용하여 curl 명령을 Java 코드로 변환하세요. curl2code는 WebAssembly를 통해 브라우저에서 완전히 실행되므로 데이터가 기기를 떠나지 않습니다. Kotlin 개발의 경우 curl to Kotlin 변환기를 사용해 보세요. C# (.NET)의 경우 curl to C#을 참조하세요. 아래는 바로 사용 가능한 Java 예제입니다.

브라우저에서 curl을 복사하는 방법

  1. 1

    DevTools 열기

    F12 또는 Ctrl+Shift+I를 눌러 브라우저 개발자 도구를 엽니다.

  2. 2

    Network 탭으로 이동

    Network 탭을 클릭하고 HTTP 요청을 트리거하는 동작을 수행합니다.

  3. 3

    cURL로 복사

    요청을 마우스 오른쪽 버튼으로 클릭 → CopyCopy as cURL을 선택합니다. 그런 다음 위에 붙여넣으세요.

자주 묻는 질문 (FAQ)

Java HttpClient란 무엇인가요?

Java 11에서 도입된 HttpClient는 오래된 HttpURLConnection을 대체하는 현대적인 내장 HTTP 클라이언트입니다. HTTP/2, 비동기 요청, WebSocket 및 유연한 빌더 API를 지원합니다. 외부 의존성이 필요하지 않습니다. curl2code는 대안으로 OkHttp, Jsoup, HttpURLConnection도 지원합니다.

HttpClient, OkHttp, HttpURLConnection 중 무엇을 사용해야 하나요?

HttpClient(Java 11+)는 현대적인 표준이므로 새로운 프로젝트에 권장됩니다. OkHttp는 성숙한 라이브러리로 Android에서 널리 사용되며 인터셉터와 커넥션 풀링을 지원합니다. HttpURLConnection은 모든 Java 버전에서 작동하지만 코드가 장황합니다. Android/Kotlin의 경우 curl to Kotlin 변환기를 참조하세요. 유사한 현대적 접근 방식은 curl to C#을 시도해 보세요.

Java에서 인증을 어떻게 처리하나요?

Authorization 헤더를 설정하세요: request.header("Authorization", "Bearer " + token). Basic 인증의 경우 Base64.getEncoder().encodeToString((user + ":" + pass).getBytes())로 인코딩합니다. HttpClient는 자동 자격 증명 처리를 위한 Authenticator도 지원합니다.

Java에서 multipart 폼 데이터를 어떻게 보내나요?

Java 11+ HttpClient는 경계(boundary) 문자열을 사용하여 수동으로 multipart 본문을 구성해야 합니다. 수동으로 형식이 지정된 파트와 함께 HttpRequest.BodyPublishers.ofString()을 사용하세요. OkHttp는 MultipartBody.Builder로 이를 단순화합니다. curl2code는 선택한 Java 라이브러리에 맞는 적절한 multipart 코드를 생성합니다.

Java에서 HTTP 에러를 어떻게 처리하나요?

HttpClient 사용 시, HTTP 에러에 대해 예외를 발생시키지 않으므로 각 요청 후 response.statusCode()를 확인하세요. IOException(네트워크) 및 InterruptedException(비동기)에 대해 try/catch로 감싸서 처리합니다. OkHttp는 실패 시 IOException을 발생시키며 상태 확인을 위한 response.isSuccessful()을 제공합니다.

Java에서 비동기 HTTP 요청을 어떻게 만드나요?

HttpClient는 sendAsync()를 반환하는 CompletableFuture를 제공합니다: client.sendAsync(request, BodyHandlers.ofString()).thenApply(HttpResponse::body). thenAccept(), thenCompose()로 체이닝하거나 병렬 요청을 위해 CompletableFuture.allOf()를 사용하세요. OkHttp는 Callback 인터페이스와 함께 enqueue()를 사용합니다.

Java HttpClient에서 타임아웃을 어떻게 설정하나요?

클라이언트에 설정: HttpClient.newBuilder().connectTimeout(Duration.ofSeconds(10)).build(). 요청별 설정: request.timeout(Duration.ofSeconds(30)). OkHttp는 OkHttpClient.Builder().connectTimeout(10, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS)를 사용합니다.

Java에서 프록시를 어떻게 구성하나요?

HttpClient 사용 시: HttpClient.newBuilder().proxy(ProxySelector.of(new InetSocketAddress("proxy", 8080))).build(). OkHttp는 Proxy 클래스를 사용합니다: new OkHttpClient.Builder().proxy(new Proxy(Proxy.Type.HTTP, address)). Java는 또한 -Dhttp.proxyHost JVM 플래그를 지원합니다. curl2code는 -x 플래그를 자동으로 변환합니다.

Java에서 JSON 바디를 포함한 POST 요청을 보내는 방법은 무엇인가요?

curl2code를 사용하여 curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL과 같은 curl POST 명령어를 Java로 변환하세요. 생성된 코드는 HttpRequest.newBuilder().POST(BodyPublishers.ofString(jsonString)).build()를 사용합니다. curl2code는 JSON 콘텐츠가 포함된 -d/--data 플래그를 자동으로 감지하고 HttpClient 코드에 적절한 Content-Type 헤더를 설정합니다.

Java에서 Bearer 토큰 인증을 추가하는 방법은 무엇인가요?

curl -H "Authorization: Bearer YOUR_TOKEN" URL을 curl2code에 입력하면 .header("Authorization", "Bearer YOUR_TOKEN")와 같은 인증 헤더가 포함된 HttpClient 코드가 생성됩니다. curl2code는 -H "Authorization: Bearer ..."--oauth2-bearer 플래그 모두에서 Bearer 토큰을 감지합니다. Basic auth의 경우 -u user:pass를 사용하세요.

Java에서 Content-Type 헤더를 설정하는 방법은 무엇인가요?

curl2code는 curl -H "Content-Type: application/json" URL을 적절한 헤더가 포함된 HttpClient 코드로 변환합니다: .header("Content-Type", "application/json"). -d 데이터의 경우 curl은 기본적으로 application/x-www-form-urlencoded를 사용하며, -F 폼 업로드의 경우 multipart/form-data를 사용합니다. curl2code는 각각을 올바른 HttpClient API에 매핑합니다.

유용한 링크

curl 가이드

curl을 다른 언어로 변환