#33. HTTP 프로토콜로부터 HTML 파일 가져오기

이번 Chapter는 MFC 수준에서 쉽고 간편하게 인터넷에 있는 HTML 파일들을 다운로드해오는 방법을 알려드리도록 하겠습니다. 새로운 클래스 두 가지를 알아두셔야 할 필요가 있는데요.


바로, CInternetSession 클래스와 CInternetFile 클래스입니다. 이 두 클래스는 그리 어렵지 않으면서도 친근하게 사용할 수 있는 활용성높은 클래스입니다.


아주 간단한 HTML 파일 액세스 예제를 살펴보도록 합시다.



    CInternetSession isSession;


    CInternetFile* ifFile = NULL; // 포인터일 경우 초기화해야겠죠?


    ifFile = (CInternetFile*)isSession.OpenURL(“http://www.naver.com”);


위의 세 줄의 코딩은 해당 URL에 액세스할 수 있도록 핸들을 얻어오는 기능을 해줍니다. 이제 남은 것은 실제로 버퍼를 셋팅해서 EOF 시그널 (End Of File Signal)이 검출될 때까지 버퍼로 데이터들을 가져오는 것입니다. 참고로, 한번에 얼마만큼의 바이트를 읽어낼 것인지를 셋팅해 줄 필요가 있습니다.



    ifFile->SetReadBufferSize(4096);



    CString strBuffer;


    for(;;)


    {



      if(!ifFile->ReadString(strBuffer))



        break;


    }


이렇게 얻어진 버퍼는 원하는 대로 다루실 수 있습니다. 특히 CString으로 버퍼를 얻었으니 더욱 간편하겠지요?

댓글 남기기