HTTP 요청 보내기

C#:
HTTP 요청 보내기

How to: (방법)

C#에서 HTTP 요청을 보낼 때는 HttpClient 클래스를 주로 사용합니다. 아래는 간단하게 GET 요청을 보내는 예제코드와 출력 결과입니다.

using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (HttpClient client = new HttpClient())
        {
            HttpResponseMessage response = await client.GetAsync("http://example.com");
            string responseBody = await response.Content.ReadAsStringAsync();

            Console.WriteLine(responseBody);
        }
    }
}

출력 결과는 http://example.com에서 제공하는 HTML 내용일 것입니다.

Deep Dive (심층 분석)

과거에는 WebRequestWebClient 같은 클래스를 사용했지만, 지금은 HttpClient가 선호됩니다. 이는 비동기 작업을 위해 설계되었고, 성능도 좋습니다. HttpClient는 GET, POST, PUT, DELETE 등 다양한 HTTP 메소드를 지원합니다. 그리고, HttpRequestMessageHttpResponseMessage를 사용하여 요청과 응답을 더 세밀하게 제어할 수 있습니다.

HttpWebRequest 대신 HttpClient를 사용하는 이유:

  • 더 단순한 API
  • 자동으로 연결 재사용
  • 비동기 프로그래밍에 최적화

다른 HTTP 도구와 비교했을 때, HttpClient는 사용하기 쉬우면서도 강력한 성능을 제공합니다. 여러 DelegatingHandler를 이용해서 로깅, 인증, 오류 처리 등을 커스텀 할 수 있습니다.

See Also (참고 자료)