IT정보공유/C#

c# Http 웹서버와 데이터 통신하는 클래스 WebClient - (RESTFul Client)

알지오™ 2019. 9. 17.

요즘 웹서버 구축시에는 대부분 RESTFul API Server 형태로 구축을 많이 하는것 같습니다.
RESTFul로 요청하면, JSON 으로 응답하는 형태로 말이죠.
그래서 범용적으로 많이 사용되는 JSON 방식의 REST API를 호출하는 경우를 예로 설명하도록 하겠습니다.

웹서버로 부터 데이터를 보내기 위한 메소드 UploadString()

4개의 오버로드된 함수가 있으며, 별도의 메소드를 지정하지 않으면 기본 POST 방식으로 업로드가 됩니다.

- public string UploadString (string address, string data)
- public string UploadString (Uri address, string data)
- public string UploadString (string address, string method, string data)
- public string UploadString (Uri address, string method, string data)

//WebClient UploadString 샘플코드
//
String sResponse = "";

WebClient webClient = new WebClient();
webClient.Encoding = UTF8Encoding.UTF8; 

sResponse = webClient.UploadString("http://127.0.0.1/api/useradd", "{\"userid\": \"bigenergy",\"username\": \"빅에너지\"}");
//

위 샘플 코드에서는 2번째 설명한 오버로드된 UploadString 함수를 사용했는데 별도의 업로드 스트링은

요즘 많이 쓰는 JSON 으로 업로드 했습니다.

웹서버 측에서는 업로드된 JSON을 파싱하여 적절한 행위를 취할겁니다.

 

웹서버로 부터 데이터를 받기 위한 메소드 DownloadString()


DownloadString() 메소드는 2개의 오버로드 함수가 존재합니다.

- public string DownloadString (string address)
- public string DownloadString (Uri address)

//WebClient DownloadString 샘플코드
//
String sResponse = "";

WebClient webClient = new WebClient();
webClient.Encoding = UTF8Encoding.UTF8;

sResponse = webClient.DownloadString("http://127.0.0.1/api/userlist");
JObject jobj = JObject.Parse(sResponse);
//

sResponse에 서버로부터 응답받은 JSON 문자열이 저장되고, 클라이언트에서는 해당 JSON을 파싱하여
데이터를 가공하면 하면 되겠습니다.

댓글

💲 추천 글