ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HTTP - Win32
    Platform/소켓 2009. 2. 13. 20:30
    웹서버만 있으면 된다.

    Windows Internet API(WinINet API)
        HTTP
        FTP
        gopher

        서버를 만드는 데는 사용할 수 없다

        wininet.dll

    #include <wininet.h>

    InternetOpen()
    INTERNET_OPEN_TYPE_PRECONFIG
    InternetConnect()
    INTERNET_DEFAULT_HTTP_PORT

    INTERNET_SERVICE_HTTP
    InternetOpenUrl()
    INTERNET_FLAG_DONT_CACHE
    HttpQueryInfo()
    InternetCloseHandle()
    InternetQueryDataAvailable()
    InternetReadFile()
    요청한 크기보다 작을 수 있다.
    HttpOpenRequest()
    파일 이름에 한글이 포함된 경우 UTR-8로 변환 후 URL 인코딩을 한다.(이것 땜에 사경을 헤맸네..)
    HttpEndRequest()
    HttpAddRequestHeaders()
    HttpSendRequest()
    HttpSendRequestEx()
    InternetWriteFile()
    InternetCrackUrl()
    HttpQueryInfo()

    InternetSetFilePointer()
    로컬 PC의 캐시에 적용되기 때문에 큰 파일에는 사용하면 안될 것 같음    // ???
    InternetSetStatusCallback()
    InternetGetCookie()
    InternetSetCookie()
    InternetSetOption()
    InternetQueryOption()


                   



    해당하는 컴퓨터가 인터넷에 연결되어있는지의 여부를 알려면 다음과 같이 하면 된다.
    IBindStatusCallback
        .GetBindInfo()
        .OnStartBinding()
        .OnStopBinding()
        .OnProgress()
            S_OK
            E_ABORT

            ulProgress
            ulProgressMax
            ulStatusCode
                BINDSTATUS_FINDINGRESOURCE
                BINDSTATUS_CONNECTING
                BINDSTATUS_SENDINGREQUEST
                BINDSTATUS_MIMETYPEAVAILABLE
                BINDSTATUS_BEGINDOWNLOADDATA
                BINDSTATUS_ENDDOWNLOADDATA
                BINDSTATUS_CACHEFILENAMEAVAILABLE
                BINDSTATUS_DOWNLOADINGDATA
            szStatusText

    URLDownloadToFile()
    URLDownloadToCacheFile()
    combine the capabilities of asynchronous monikers and URL monikers into easy-to-use functions
    do not have to worry about the protocols used to transfer the files, such as HTTP, FTP. In the simplest case, all you have to do is to pass them the URL

    szURL // 다운받을 URL
    szFileName // 내려받은 파일 이름

    비동기 모니커
    URL 모니커
    IMoniker
    ::CreateURLMoniker()
    .BindToStorage()


    참조 사이트:


Designed by Tistory.