1. http request

- 특정 url(네이버 카페)에서 특정 정보를 파싱하려고 하다보니 문제가 발생함

- C#에서 WinHttpRequest를 사용했을 때에 특정 문자가 유니코드로 표현이 안되어서 발생하는 문제로 파악됨

 

[호출된 함수]
  public String requestHTTP(String url)
  {
      WinHttpRequest request = new WinHttpRequest();
      request.Open("POST", url);
      request.Send("");
      request.WaitForResponse();
      return request.ResponseText;
  }

 

 

2. WebRequest

- request를 하는 함수에서 발생하는 버그라고 생각되어 다른 request 라이브러리를 찾아 사용

- 그 중 WebRequest함수를 사용

 

[호출된 함수]

public String requestWeb(String url)
{
    WebRequest request = WebRequest.Create(url);
    request.Credentials = CredentialCache.DefaultCredentials;
    WebResponse response = request.GetResponse();
    Stream dataStream = response.GetResponseStream();
    StreamReader reader = new StreamReader(dataStream);
    string responseFromServer = reader.ReadToEnd();
    reader.Close();
    response.Close();

    return responseFromServer;
}


3. 결론

- 유니코드에 매핑이 되지 않은 문자가 있을 수 있다.

- WebRequest에서는 이러한 문제에 대한 처리가 잘되어 있다.

 

끄읕!!

'일상 > 기본' 카테고리의 다른 글

30분 공부하기) 챗봇  (0) 2019.03.30
데이터 클러스터링(30분 공부하기)  (0) 2019.03.28
php Excel 업로드  (0) 2019.03.27
IT상식) 프레임워크란  (0) 2019.03.26
아마존 AWS 공부하기(30분)  (0) 2019.03.26

+ Recent posts