HelloCho

[C#] http post 방식으로 json Data Parameter 보내기 본문

C#

[C#] http post 방식으로 json Data Parameter 보내기

쵸송 2021. 3. 22. 18:17

http post 방식으로 사용하는 예제입니다.

요청 파라미터는 json을 사용하였습니다.

자세한 설명은 예시 코드에 주석으로 달아 두었습니다.

아래는 예시입니다.

// 전송 할 곳의 url을 적어준다.
string url = "https://test.com/api/abc.json";
string responseText = string.Empty;

HttpWebRequest webRequest = (HttpWebRequest) WebRequest.Create(url);
webRequest.Method = "POST";
webRequest.Timeout = 30 * 1000; // 30초
// ContentType은 지정된 것이 있으면 그것을 사용해준다.
webRequest.ContentType = "application/json; charset=utf-8";

// json을 string type으로 입력해준다.
string postData = "{\"test_params\":[{\"name\":\"abc\",\"id\":[\"efg\"]}]}";
// 보낼 데이터를 byteArray로 바꿔준다.
byte[] byteArray = Encoding.UTF8.GetBytes(postData);

// 요청 Data를 쓰는 데 사용할 Stream 개체를 가져온다.
Stream dataStream = webRequest.GetRequestStream();
// Data를 전송한다.
dataStream.Write(byteArray, 0, byteArray.Length);
// dataStream 개체 닫기
dataStream.Close();

// 응답 받기
using (HttpWebResponse resp = (HttpWebResponse) webRequest.GetResponse())
{
	HttpStatusCode status = resp.StatusCode;
	Console.WriteLine(status);      // status 가 정상일경우 OK가 입력된다.

	// 응답과 관련된 stream을 가져온다.
	Stream respStream = resp.GetResponseStream();
	using (StreamReader streamReader = new StreamReader(respStream))
	{
    		responseText = streamReader.ReadToEnd();
	}
}

Console.WriteLine(responseText);

'C#' 카테고리의 다른 글

[C#]utf-8에서 euckr로 인코딩하기  (0) 2021.06.02
[C#] 2021 C# 코딩 가이드  (0) 2021.05.04
[C#] UTF8 인코딩 하기  (0) 2021.03.25
[C#] Encoding 한글 깨질때  (0) 2020.06.11
[C#] euc-kr 인코딩 하기  (0) 2020.05.22
Comments