curl을 C#(으)로 변환

HttpClient를 사용하여 curl 명령을 C# 코드로 변환하세요. curl2code는 WebAssembly를 통해 브라우저에서 완전히 실행되므로 데이터가 비공개로 유지됩니다. Java 개발의 경우 curl to Java 변환기를 사용해 보세요. TypeScript의 경우 curl to TypeScript를 참조하세요. 아래는 바로 사용 가능한 C# 예제입니다.

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

  1. 1

    DevTools 열기

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

  2. 2

    Network 탭으로 이동

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

  3. 3

    cURL로 복사

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

자주 묻는 질문 (FAQ)

C# HttpClient란 무엇인가요?

HttpClient는 .NET의 현대적인 내장 HTTP 클라이언트입니다. 기본적으로 async/await, HTTP/2, 자동 압축 해제 및 커넥션 풀링을 지원합니다. 소켓 고갈을 방지하기 위해 애플리케이션 전체에서 단일 HttpClient 인스턴스(또는 IHttpClientFactory)를 사용하세요. curl2code가 C# 변환 시 사용하는 기본이자 유일한 라이브러리입니다.

HttpClient, WebClient, HttpWebRequest 중 무엇을 사용해야 하나요?

HttpClient는 현대적인 표준이므로 새로운 .NET 프로젝트에서는 항상 이를 사용해야 합니다. WebClientHttpWebRequest는 레거시이며 새 코드에서 사용해서는 안 됩니다. HttpClient는 비동기 지원, 더 나은 성능 및 더 깔끔한 API를 제공합니다. 유사한 현대적 클라이언트는 curl to Java 또는 curl to Go를 참조하세요.

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

헤더 설정: client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token). Basic 인증의 경우 자격 증명을 인코딩하여 헤더를 설정합니다. 요청별 인증은 request.Headers.Authorization을 사용합니다. curl2code는 -u-H 'Authorization'을 감지하여 올바른 C# 코드를 생성합니다.

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

MultipartFormDataContent를 사용하세요. 필드에는 StringContent를, 파일에는 StreamContent이 포함된 ContentDisposition를 추가합니다. multipart 콘텐츠를 PostAsync(url, content)에 전달하세요. Content-Type 경계는 자동으로 설정됩니다. curl2code는 -F 플래그를 이 패턴으로 변환합니다.

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

2xx 이외의 상태에서 response.EnsureSuccessStatusCode()을 발생시키려면 HttpRequestException를 호출하세요. 또는 response.IsSuccessStatusCoderesponse.StatusCode를 수동으로 확인합니다. HttpRequestException, TaskCanceledException(타임아웃), OperationCanceledException에 대해 try/catch로 감싸서 처리합니다.

HttpClient와 함께 async/await를 어떻게 사용하나요?

HttpClient는 설계상 비동기 방식이며 모든 메서드는 Task를 반환합니다: var response = await client.GetAsync(url). 본문에는 await response.Content.ReadAsStringAsync()를 사용하세요. 병렬 요청의 경우 Task.WhenAll()을 사용합니다. .Result.Wait()는 데드락을 유발할 수 있으므로 절대 사용하지 마세요. 유사한 비동기 패턴은 curl to TypeScript를 참조하세요.

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

전체 타임아웃을 위해 client.Timeout = TimeSpan.FromSeconds(30)를 설정하세요. 요청별 제어를 위해서는 타임아웃이 포함된 CancellationTokenSource를 사용합니다: new CancellationTokenSource(TimeSpan.FromSeconds(10)). 재시도의 경우 Polly 라이브러리 또는 재시도 정책이 포함된 IHttpClientFactory를 사용하세요.

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

프록시가 포함된 HttpClientHandler를 생성하세요: handler.Proxy = new WebProxy("http://proxy:8080"). 이 핸들러를 new HttpClient(handler)에 전달합니다. 로컬 주소에 대해 프록시를 우회하려면 handler.Proxy.BypassProxyOnLocal = true를 설정하세요. curl2code는 -x--proxy 플래그를 이 구성으로 변환합니다.

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

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

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

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

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

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

유용한 링크

curl 가이드

curl을 다른 언어로 변환