À¥¿¡¼ ÆÄÀÏÀ» ´Ù¿î·ÎµåÇÏ·Á¸é ¾î¶»°Ô ÇØ¾ßµÇ³ª ±Ã±ÝÇߴµ¥
¾Æ·¡°°ÀÌ ÇÏ¸é °£´ÜÇÏ°Ô À¥¿¡ ¿Ã¶ó¿Â ÆÄÀϵéÀ» ´Ù¿î·Îµå ¹ÞÀ» ¼ö ÀÖ´Ù.
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_DI
RECT,  
// 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 = f
open(pszFile,
"wb")) !=
NULL)
{
TCHAR szBuff[READ_BUF_SIZE];
DWORD dwSize;
DWORD dwDebug = 10;
do {
 
// À¥»óÀÇ ÆÄÀÏ Àбâ
InternetReadFile(hUrl, szBuff, READ_BUF_SIZE, &dwSize);
 
// À¥»óÀÇ ÆÄÀÏÀ» ¸¸µé¾îÁø ÆÄÀÏ¿¡ ½á³Ö±â
f
write(szBuff, dwSize, 1, fp);
dwReadSize += dwSize;
} while ((dwSize != 0) || (--dwDebug != 0));
f
close( fp );
}
 
// ÀÎÅÍ³Ý ÇÚµé ´Ý±â
InternetCloseHandle(hUrl);
}
 
// ÀÎÅÍ³Ý ÇÚµé ´Ý±â
InternetCloseHandle(hInet);
}
return(dwReadSize);
}
void CDownloadFromHttpDlg::OnBnClickedOk()
{
 
// TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù.
getFileFromHttp(
" http://tattertools.com/ko/tistoryBanner01.gif", "tistoryBanner01.gif");
OnOK();
}
// ³ª´Â libcurl ¾²Áö¸¸... ´Ù¸¥ºÐÀÌ ÇÊ¿äÇÑ °Í °°¾Æ¼ Å×½ºÆ®¿ëÀ¸·Î »ý¼º