[C#] 원격 서버에서 (503) 서버 사용할 수 없음 오류를 반환했습니다

503 서버 사용할 수 없음은 영어로 '503 Service Unavailable'입니다. 서버를 사용할 수 없다기 보다는 서비스가 현재 이용이 불가하다는 표현이 직관적으로 와닿지 않을까 싶습니다. 그리고 이것은 서버가 요청을 처리할 준비가 되지 않았다는 것을 뜻하기도 하지요. 503 오류코드가 발생하는 경우는 흔히 다음과 같습니다.

  • 서버 다운
  • 과부하

원격 서버에서 (503) 서버 사용할 수 없음 오류를 반환했습니다

무료 API를 사용하다가 과부하가 발생하여 서버측에서 의도적으로 오류코드를 응답하는 예제자료는 다음과 같습니다. (예외처리를 생략하여 의도적으로 발생시킨 자료입니다.) 참고로 503 오류코드는 서버에서 반환하는 것이므로 클라이언트에서 별도로 해결할 수 있는 방법은 없습니다. 예외처리를 잘 하는 것이 최선이라고 할 수 있겠습니다.

/// <summary>
/// 외부 아이피
/// </summary>
internal static string GetExternalIPAddress()
{
    string externalip = new WebClient().DownloadString("http://");  
    return externalip;
}

503 서버 사용할 수 없음 오류에 대해 C#에서 예외처리하는 예제 자료입니다.

//as
try
{
    //
}
catch (Exception ex)
{
    string s = string.Empty;
    WebException we = ex as WebException;
    if (we != null && we.Status == WebExceptionStatus.ProtocolError)
    {
        s = $"{((HttpWebResponse)we.Response).StatusCode}\r\n\r\n{ex.Message}";
    }

    if (s == string.Empty)
        s = ex.Message;
}

//예외처리 별도
try
{
    //
}
catch (WebException we)
{
    string s = string.Empty;
    if (we.Status == WebExceptionStatus.ProtocolError)
        s = $"{((HttpWebResponse)we.Response).StatusCode}\r\n\r\n{we.Message}";
}
catch (Exception ex)
{
    string s = ex.Message;
}
댓글 쓰기
가져가실 때, 출처 표시 부탁드려요! 감사합니다. 💗