본문 바로가기
개발언어/.NET

Web에서 획득한 데이터 한글깨짐 현상수정

by 공장장코난 2021. 4. 20.

#로또, #동행복권 회차 데이터 수집을 위해 메인페이지의 html 소스를 바로 Parsing할 생각이다.

string sUrl = string.Format(@"https://dhlottery.co.kr/gameResult.do?method=byWin");
Encoding encoding = Encoding.UTF8;
byte[] result = encoding.GetBytes(sUrl.ToString());

HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(sUrl);
webReq.Method = "GET";
webReq.Timeout = 10000; //10sec
using (HttpWebResponse webRes = (HttpWebResponse)webReq.GetResponse())
{
   if (webRes.StatusCode == HttpStatusCode.OK)
   {
      Stream resStream = webRes.GetResponseStream();
      StreamReader streamReader = new StreamReader(resStream);
      string sResponse = streamReader.ReadToEnd();
   }
}

아래 코드의 sResponse 값을 확인 결과 한글이 깨지는 현상이 발생 한다. Encoding type이 "euc-kr"로 개발된듯..
string sResponse = streamReader.ReadToEnd();

//StreamReader()시 "euc-kr"로 encoding 후 한글값이 정상 표시된다.
streamReader = new StreamReader(resStream, Encoding.GetEncoding("euc-kr"));