• ·Î±×ÀÎ ÇÔ ÇØº¸²ô³ª?

  • Sarangnamu.net June 17, 2003
    Home Login Study Open Project Gallery Free board Google Code
    HTTP file download


    À¥¿¡¼­ ÆÄÀÏÀ» ´Ù¿î·ÎµåÇÏ·Á¸é ¾î¶»°Ô ÇØ¾ßµÇ³ª ±Ã±ÝÇߴµ¥
    ¾Æ·¡°°ÀÌ ÇÏ¸é °£´ÜÇÏ°Ô À¥¿¡ ¿Ã¶ó¿Â ÆÄÀϵéÀ» ´Ù¿î·Îµå ¹ÞÀ» ¼ö ÀÖ´Ù.

    getFileFromHttp(" http://tattertools.com/ko/tistoryBanner01.gif", "tistoryBanner01.gif");

    À̹ÌÁö ÆÄÀÏÀ» ´Ù¿î ¹ÞÀ¸·Á¸é ¾î¶»°Ô ÇØ¾ßµÇ´ÂÁö ¸ô¶ó¼­ ÇÑÂü ÇØ¸Ì´Ù.
    URL¿¡´Â ÆÄÀϸí±îÁö µé¾î°¡¾ßµÈ´Ù. ±×¸®°í ÀúÀåÇÒ ÆÄÀÏÀÇ À̸§À» ÁöÁ¤ÇÑ´Ù.
    ƯÁ¤ Æú´õ¿¡ ÆÄÀÏÀ» ÀúÀåÇÏ·Á¸é ÀúÀåÇÒ ÆÄÀÏ¿¡ ÆÐ½º¸¦ ÀÔ·ÂÇϸéµÈ´Ù.
    ¿¹¸¦ µé¾î URLÀ» ÀÌ·¸°Ô ÁÖ°í " http://wwwi.tistory.com/"
    ÀúÀåÇÒ ÆÄÀÏÀ» "test.html"·Î ÁÖ¸é http://wwwi.tistory.com/ÀÇ Ã¹ÆäÀÌÁö°¡ test.html·Î ÀúÀåµÈ´Ù.



    ======================================================================



    #include "Wininet.h"     // ¹ØÀÇ ÇÔ¼ö¸¦ ¾²·Á¸é ÀÌ ¶óÀÎÀ» ¹Ýµå½Ã Ãß°¡ÇØ¾ß µÊ



    #define READ_BUF_SIZE    1024





    // À¥»óÀÇ ÆÄÀÏÀ» ´Ù¿î·Îµå

    int getFileFromHttp(char* pszUrl, char* pszFile)

    {

        HINTERNET    hInet, hUrl;

        DWORD        dwReadSize = 0;



        // WinINetÇÔ¼ö ÃʱâÈ­

        if ((hInet = InternetOpen("MyWeb",            // user agent in the HTTP protocol

                        INTERNET_OPEN_TYPE_DIRECT,    // AccessType

                        NULL,                        // ProxyName

                        NULL,                        // ProxyBypass

                        0)) != NULL)                // Options

        {

            // ÀÔ·ÂµÈ HTTPÁÖ¼Ò¸¦ ¿­±â

            if ((hUrl = InternetOpenUrl(hInet,        // ÀÎÅÍ³Ý ¼¼¼ÇÀÇ ÇÚµé

                        pszUrl,                        // URL

                        NULL,                        // HTTP server¿¡ º¸³»´Â ÇØ´õ

                        0,                            // ÇØ´õ »çÀÌÁî

                        0,                            // Flag

                        0)) != NULL)                // Context

            {

                FILE    *fp;



                // ´Ù¿î·ÎµåÇÒ ÆÄÀÏ ¸¸µé±â

                if ((fp = fopen(pszFile, "wb")) != NULL)

                {

                    TCHAR    szBuff[READ_BUF_SIZE];

                    DWORD    dwSize;

                    DWORD    dwDebug = 10;



                    do {

                        // À¥»óÀÇ ÆÄÀÏ Àбâ

                        InternetReadFile(hUrl, szBuff, READ_BUF_SIZE, &dwSize);



                        // À¥»óÀÇ ÆÄÀÏÀ» ¸¸µé¾îÁø ÆÄÀÏ¿¡ ½á³Ö±â

                        fwrite(szBuff, dwSize, 1, fp);



                        dwReadSize += dwSize;

                    } while ((dwSize != 0) || (--dwDebug != 0));



                    fclose( fp );

                }

                // ÀÎÅÍ³Ý ÇÚµé ´Ý±â

                InternetCloseHandle(hUrl);

            }

            // ÀÎÅÍ³Ý ÇÚµé ´Ý±â

            InternetCloseHandle(hInet);

        }

        return(dwReadSize);

    }




    void CDownloadFromHttpDlg::OnBnClickedOk()

    {

        // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù.

        getFileFromHttp(" http://tattertools.com/ko/tistoryBanner01.gif", "tistoryBanner01.gif");



        OnOK();

    }


    // ³ª´Â libcurl ¾²Áö¸¸... ´Ù¸¥ºÐÀÌ ÇÊ¿äÇÑ °Í °°¾Æ¼­ Å×½ºÆ®¿ëÀ¸·Î »ý¼º



    Comment


    ÀÔ·ÂÇÏ3 1283841294



    Locations of visitors to this page