IT정보공유/C#

C# WebClient API 호출시 Basic Authorization 인증 방법

알지오™ 2020. 5. 7.

간단하게 HTTP header에 아이디와 비밀번호를 설정하여

Basic Authorization 인증 받는 방법을 알아 보도록 하겠습니다.

 

웹서버에서 별도의 인증이 필요없는 경우에는 아래처럼 http header에 authorization 을 설정하지 않아도 됩니다만

보안을 위해 인증을 사용하는 경우도 있으니, 참고해 두시면 도움이 될겁니다.

 

WebClient webClient = new WebClient();
webClient.Headers[HttpRequestHeader.ContentType] = "application/json";

                
string credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes("id:password"));
webClient.Headers[HttpRequestHeader.Authorization] = "Basic " + credentials;


webClient.Encoding = UTF8Encoding.UTF8;

string responseJSON = "";

responseJSON = webClient.UploadString(url, jsonString);

 

위 샘플코드를 보시면 아시겠지만 인증이 어렵지 않습니다.

webClient.Headers[HttpRequestHeader.Authorization] 에 "Basic " 문자열과 credentials 문자열을 더하면 되는데요.

credentials 은 "id:password"를 Base64 문자열로 인코딩한 문자열입니다.

 

인증부분이 잘못되면 아래와 같은 메세지가 출력되기도 합니다.

 

원격 서버에서 (401) 권한이 없음 오류를 반환했습니다.

댓글

💲 추천 글