투케이2K

116. (C#/NET) [Mac Os] [HttpWebRequest] Http Post Body Json 방식 요청 및 응답 데이터 확인 본문

C샵 (NET)

116. (C#/NET) [Mac Os] [HttpWebRequest] Http Post Body Json 방식 요청 및 응답 데이터 확인

투케이2K 2024. 3. 30. 19:02

[개발 환경 설정]

개발 언어 : C# / NET

 

[소스 코드]

using System;
using System.Collections;
using System.Data;
using System.Diagnostics.Tracing;
using System.Text;
using System.Text.Json.Serialization;
using System.Web;
using System.Text.Json;
using System.Text.Encodings.Web;
using System.Text.Unicode;
using System.Text.RegularExpressions;
using System.Timers;
using System.Threading;
using System.Diagnostics;
using System.Net;

namespace testProject {

    // [프로그램 동작 클래스]
    class Program {

        // [메소드 수행]
        static void Main(string[] args){

            // [주소 선언]
            string url = "https://jsonplaceholder.typicode.com/posts";

            // [http 요청 헤더 값 및 타입 정의]
            HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
            httpWebRequest.Method = "POST"; // [요청 타입]
            httpWebRequest.Timeout = 30 * 1000; // [타임 아웃 시간 30 초]
            httpWebRequest.Headers.Add("Content-Type", "application/json"); // [헤더 값]

            // [요청 데이터 정의]
            string req = "{\"userId\":1, \"id\":1}";

            // [string to byte 변환]
            byte[] bytes = Encoding.ASCII.GetBytes(req);

            // [요청 데이터 스트림 Write]
            httpWebRequest.ContentLength = bytes.Length;
            using (Stream reqStream = httpWebRequest.GetRequestStream()){
                reqStream.Write(bytes, 0, bytes.Length);
            }

            // [리턴 받을 데이터 변수 정의]
            string responseData = "";

            // [http 요청 수행]
            using (HttpWebResponse response = (HttpWebResponse)httpWebRequest.GetResponse()){
                HttpStatusCode httpStatusCode = response.StatusCode; // [응답 코드]
                Stream responseStream = response.GetResponseStream(); // [응답 데이터 읽기]

                using (StreamReader streamReader = new StreamReader(responseStream)){
                    responseData = streamReader.ReadToEnd();
                }

                // [로그 출력]
                Console.WriteLine($"");
                Console.WriteLine($"------------------------------------------");
                Console.WriteLine($"[Main] : [Log]");
                Console.WriteLine($"------------------------------------------");
                Console.WriteLine($"REQUEST_URL : {url}");
                Console.WriteLine($"------------------------------------------");
                Console.WriteLine($"RESPONSE_CODE : {httpStatusCode}");
                Console.WriteLine($"------------------------------------------");
                Console.WriteLine($"RESPONSE_DATA : {responseData}");
                Console.WriteLine($"------------------------------------------");
                Console.WriteLine($"");

            }

        }

    }

}
 

[결과 출력]


반응형
Comments