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 |