DoRi Ȩ 24½Ã


[°Ô½ÃÆÇ Ãß°¡]»çÁøµé
[°Ô½ÃÆÇ Ãß°¡]Ã¥Àбâ
[°Ô½ÃÆÇ Ãß°¡]Ä«Æä,¼úÁý
µ¨ÆÄÀÌ °­Á QnA

DoRi24 ¼Ò°³

0 / 1
ÀÚµ¿·Î±×ÀÎ


¹æ¸í·Ï

ÁÖÀú¸®ÁÖÀú¸®



Á¢¼ÓµÈ ȸ¿ø ¹× ÃÑȸ¿ø ¸ñ·Ïº¸±â

ÇöÀç 0ºÐ²²¼­ ȸ¿øÀ¸·Î Á¢¼ÓÇØ ÀÖ½À´Ï´Ù. 0
2 ¡¡1/1
  View Articles
  [homepage]´Ô²²¼­ ³²±â½Å ±Û (2003-02-08 19:55:02, Hit : 12753)
File 1 :  WinINetUtil.pas (1.3 KB)   Download : 149
File 2 :  WebFileDown.exe (387.0 KB)   Download : 128
À¥ÆÄÀÏ ´Ù¿îÇϱâ -- WinINet À» ÀÌ¿ë

¾È³çÇϼ¼¿ä!

À¥ ÆÄÀÏ ´Ù¿î ·Îµå ÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æ º¸µµ·Ï ÇսôÙ.
À½ ¿©·¯°¡Áö ¹æ¹ýÀÌ ÀÖÁö¸¸, ¿À´ÃÀº WinINet À» ÀÌ¿ëÇÏ°Ú½À´Ï´Ù.

WinSock ÀÌ Àú¼öÁØ ÇÔ¼ö·Î ÀÌ·ç¾î Á³´Ù¸é
WinInet À̶ó´Â °í¼öÁØÀÇ ¶óÀ̺귯¸®°¡ ÀÖ½À´Ï´Ù.

WinInet Àº Http, FTP, Gopher ÇÁ·ÎÅäÄÝ ±îÁö ÀÌ¹Ì ±¸Çö µÇ¾î ÀÖ½À´Ï´Ù.

WinINet Àº MS¿¡¼­ Á¦°øÇÏ´Â Windows API ÀÔ´Ï´Ù.
ÀÌ°É µ¨ÆÄÀÌ¿¡¼­ »ç¿ëÇϱâ ÆíÇϵµ·Ï WinInet.pas ÆÄÀÏ ÇüÅ·ΠÁö¿øÇØ ÁÖ°í ÀÖ½À´Ï´Ù.
À½ Á¤¸» Ä£ÀýÇÑ º¼·£µå ³×¿ä.

WinINet ¿¡ °üÇÑ ´õ ÀÚ¼¼ÇÑ °Å´Â MSDNÀ» ÂüÁ¶ÇϽðí,
³ªÁß¿¡ WinINet¿¡ °üÇÑ ¼³¸íÀº µû·Î °­Á¸¦ ¸¶·ÃÇϵµ·Ï ÇÏ°Ú½À´Ï´Ù.

ÀÏ´Ü ¹Ù·Î ÄÚµùÀ» Çغ¼±î¿ä

uses Àý¿¡ WinInet À» Ãß°¡Çϼ¼¿ä.

±×¸®°í
¾Æ·¡ ÇÔ¼ö¸¦ Çϳª ¸¸µé¾î º¼±î¿ä

function InternetFileDown(AURL: string; ALocalFile: string): Boolean;
var
   hSession: HINTERNET; // ÀÎÅÍ³Ý ¼¼¼Ç
   hFile: HINTERNET; // ÆÄÀÏ ÇÚµé

   FileStream: TFileStream;
   Buffer: array[0..2047] of Byte;
   ReadByte: Cardinal;

begin

   hSession := nil;
   hFile := nil;

   Result := False;

   // ¼¼¼Ç ¿­±â
   hSession := InternetOpen(PChar('DoRi Agent'), INTERNET_OPEN_TYPE_PRECONFIG,
               nil, nil, INTERNET_FLAG_DONT_CACHE);

   if hSession = nil then Exit;

   try
     // URL ÆÄÀÏ ¿­±â
     hFile := InternetOpenUrl(hSession, PChar(AURL), nil, 0, INTERNET_FLAG_DONT_CACHE, 0);

     if hFile = nil then Exit;

     // ÆÄÀÏ ½ºÆ®¸²¿­±â
     FileStream := TFileStream.Create(ALocalFile, fmCreate);

     try
         // URL ÆÄÀÏ -> ÆÄÀÏ ½ºÆ®¸²
         while (InternetReadFile(hFile, @Buffer[0], 2048, ReadByte)) do
         begin

            if ReadByte = 0 then break;

            FileStream.WriteBuffer(Buffer, ReadByte);
         end;
         Result := True;

     finally
         FileStream.Free;
     end;

   InternetCloseHandle(hFile);

   finally
      InternetCloseHandle(hSession);
   end;

end;  // --> InternetFileDown


»ç¿ëÀº ¾Æ·¡¿Í °°ÀÌ ÇÏ½Ã¸é µË´Ï´Ù.

  if InternetFileDown(edtURL.Text, edtFile.Text) then

    ShowMessage('´Ù¿î·Îµå¼º°ø')

  else

    ShowMessage('´Ù¿î·Îµå½ÇÆÐ');



÷ºÎÆÄÀÏÀº Á¦°¡ ÆÄÀÏ ´Ù¿î ¹Þµµ·Ï .pas ÆÄÀÏ·Î ¸¸µé¾ú½À´Ï´Ù.

À§¿¡¼­ WinINet ÆÄÀÏÀº ¹Ù·Î File·Î º¯È¯ÀÌ ºÒ°¡´É ÇÕ´Ï´Ù.
±×·¡¼­ ÆÄÀÏ ½ºÆ®¸²À¸·Î º¹»çÇÏ´Â °ÍÀÔ´Ï´Ù.


HINTERNET InternetOpen(
  LPCTSTR lpszAgent,
  DWORD dwAccessType,
  LPCTSTR lpszProxyName,
  LPCTSTR lpszProxyBypass,
  DWORD dwFlags
);

InternetOpen() ÇÔ¼ö´Â WinINet À» »ç¿ëÇϱâ À§ÇØ ÃʱâÈ­ ÇÏ´Â ÇÔ¼ö ÀÔ´Ï´Ù. HINTERNET  ÇÚµéÀ» ³Ñ°Ü ÁÝ´Ï´Ù.
ù¹ø° ÀÎÀÚ PChar('DoRi Agent') ´Â
¾Æ¹«°Å³ª ¾²¸é µË´Ï´Ù.  ÀÎÅͳݿ¡ Á¢±ÙÇÒ¶§´Â Ç×»ó ÀڱⰡ ¾î¶² ÀÏÀ» Çϱâ À§ÇØ Á¢±ÙÇß´Ù´Â °ÍÀ» ³ªÅ¸ ³»±â À§ÇØ ÀÚ±â À̸§À» ¹àÈù´Ù°í »ý°¢ ÇÏ¸é µË´Ï´Ù. ±×°Ô ¹Ù·Î ÀÌ°ÍÀÔ´Ï´Ù.

µÎ¹ø° ÀÎÀÚ´Â access ŸÀÔÀÔ´Ï´Ù.
- INTERNET_OPEN_TYPE_DIRECT
- INTERNET_OPEN_TYPE_PRECONFIG
- INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY
- INTERNET_OPEN_TYPE_PROXY
ÀÌ Å¸ÀÔÁß Çϳª¸¸ ¼±ÅÃÇؼ­ ³Ö¾î ÁÖ¸é µË´Ï´Ù.
ÀÚ¼¼ÇÑ °Å´Â ³ªÁß¿¡ Çѹø °­Á¸¦ ÇÏ°Ú½À´Ï´Ù. MSDNÀ» º¸¼Åµµ ÁÁ±¸¿ä..!!! ^^;

¼¼¹ø°¿Í ³×¹ø°´Â ÇÁ·Ï½Ã¿Í °ü·ÃµÈ °ÍÀÔ´Ï´Ù.

´Ù¼¸¹ø°´Â ¾Æ·¡ 3°³ÀÇ ÀÎÀÚ¸¦ Á¶ÇÕÇÏ¿© »ç¿ëÇÏ¸é µË´Ï´Ù.
- INTERNET_FLAG_ASYNC
- INTERNET_FLAG_FROM_CACHE
- INTERNET_FLAG_OFFLINE


InternetOpenUrl

ÇÔ¼ö´Â Http, Gopher, FTP ¿¡¼­ ¸®¼Ò½º¸¦ ¿­´Â ¿ªÈ°À» ÇÕ´Ï´Ù.

HINTERNET InternetOpenUrl(
  HINTERNET hInternet,
  LPCTSTR lpszUrl,
  LPCTSTR lpszHeaders,
  DWORD dwHeadersLength,
  DWORD dwFlags,
  DWORD_PTR dwContext
);

Parameters
ù¹ø° ÀÎÀÚ´Â ÇöÀç ÀÎÅÍ³Ý SessionÀÇ ÇÚµéÀÌ°í,
µÎ¹ø° ÀÎÀÚ´Â URL ÀÌ°í, ftp:, gopher:, http:, https: ÀÌ°ÍÁß Çϳª·Î ¹Ýµå½Ã ½ÃÀÛÇØ¾ß µÈ´Ù.
¼¼¹ø° ÀÎÀÚ´Â http ¼­¹ö¿¡ º¸³»Áö´Â ÇØ´õÀÌ´Ù.
³×¹ø° ÀÎÀÚ´Â ÇØ´õÀÇ ±æÀÌÀÌ°í,
´Ù¼¸¹ø° ÀÎÀÚ´Â 19°³ÀÇ FLAG µéÀε¥, ÀÐ¾î ¿Ã¶§ ¾î¶² ÇüÅ·ΠÀÐ¾î ¿ÃÁö ¼±ÅÃÇÏ´Â °ÍÀÌ´Ù.
¸¶Áö¸· ÀÎÀÚ´Â ¾îÇø®ÄÉÀ̼ǿ¡¼­ ¼±¾ðµÇ¾î¼­ ¸®ÅÏµÈ ÇÚµéÀ» °¡Áö°í callback ÇÔ¼ö¸¦ Åë°úÇÏ´Â º¯¼öÀÇ Æ÷ÀÎÅÍ ÀÌ´Ù.

¾Æ·¡´Â WinInet.pas¿¡ ¼±¾ðµÈ InternetOpenURL ÇÔ¼öÀÌ´Ù.

function InternetOpenUrl(hInet: HINTERNET; lpszUrl: PChar;
  lpszHeaders: PChar; dwHeadersLength: DWORD; dwFlags: DWORD;
  dwContext: DWORD): HINTERNET; stdcall;


Prev
   µ¨ÆÄÀÌ °­Á °Ô½ÃÆÇÀÔ´Ï´Ù.

Copyright 1999-2025 Zeroboard / skin by Go!JiNny

Copyright DoRi24.com (ÁÖ)µµ¸®
dori@dori24.com