Ruey
 
 
  µù¥U®É¶¡: 2003-03-12 ¤å³¹: 1698 ¨Ó¦Û: tunglo
  ²Ä 1 ¼Ó
  | 
		
			
				 µoªí©ó: ¬P´Á¤@ ¤E¤ë 01, 2003 8:21 pm    ¤å³¹¥DÃD: ¨Ï¥ÎAPI¤U¸üHTTP¤å¥ó2.0(Âà¶K) | 
				     | 
			 
			
				
  | 
			 
			
				¨Ó·½:¶®ª° xwy
 
 
 
 	  | ¥N½X: | 	 		  ?Url_DownFile("http://securityresponse.symantec.com/avcenter/download/us-files/20030703-016-i32.exe","C:\20030703-016-i32.exe")
 
RETURN 
 
****************************************
 
*        ¨Ï¥ÎAPI¤U¸üHTTP¤å¥ó           *
 
*          2.0   2003.07.05            *
 
*          1.0   2003.04.23            *
 
*    ¶®ª°½×¾Â www.yafox.com     *
 
****************************************
 
*ªð¦^¤å¥ó¤j¤p¡A¡×¡Ð¢°¬°¥»¦aªì©l¤Æ¥¢±Ñ¡A¡×¡Ð¢±ºô§}¤£¯à¥´¶} ¡A¡×¡Ð¢²«ü©wªº¥Ø¼Ð¤å¥óµL®Ä
 
FUNCTION Url_DownFile(Inter_Url,LocalFile)
 
   
 
   *¥»¦aªì©l¤Æ
 
   DECLARE INTEGER InternetOpen IN wininet;
 
      STRING sAgent, INTEGER lAccessType, STRING sProxyName,;
 
      STRING sProxyBypass, STRING  lFlags
 
 
   *¥´¶}URL
 
   DECLARE INTEGER InternetOpenUrl IN wininet;
 
      INTEGER hInternet,;
 
      STRING  lpszUrl,;
 
      STRING  lpszHeaders,;
 
      INTEGER dwHeadersLength,;
 
      INTEGER dwFlags,;
 
      INTEGER dwContext
 
 
   *Àò¨úHttp«H®§
 
   DECLARE INTEGER HttpQueryInfo IN  wininet;
 
      INTEGER hRequest,;
 
      INTEGER dwInfoLevel,;
 
      STRING  @ lpvBuffer,;
 
      INTEGER @ dwBufferLength,;
 
      INTEGER @ lpdwIndex
 
 
   *Ū¨ú»·µ{¤å¥ó
 
   DECLARE INTEGER InternetReadFile IN wininet;
 
      INTEGER   hFile,;
 
      STRING  @ lpBuffer,;
 
      INTEGER   dwNumberOfBytesToRead,;
 
      INTEGER @ lpdwNumberOfBytesRead
 
 
   *¥»¦a³s±µ²×¤î
 
   DECLARE INTEGER InternetCloseHandle IN wininet INTEGER hInet
 
 
   Url_Open = InternetOpen("XWY", 1, CHR(0), CHR(0), 0) &&¥»¦aªì©l¤Æ
 
   IF Url_Open=0
 
      CLEAR DLLS
 
      RETU -1 &&'¥»¦aªì©l¤Æ¥¢±Ñ'
 
   ENDIF
 
   Url_Session = InternetOpenUrl (Url_Open, Inter_Url, "", 2, 16, 0)
 
   IF Url_Session=0
 
      = InternetCloseHandle(Url_Open)
 
      CLEAR DLLS
 
      RETU -2 &&'ºô§}¤£¯à¥´¶}'
 
   ENDIF
 
 
   Url_Fopen = FCREATE (LocalFile)
 
   IF Url_Fopen = -1
 
      = InternetCloseHandle(Url_Session)
 
      = InternetCloseHandle(Url_Open)
 
      CLEAR DLLS
 
      RETURN -3 &&'«ü©wªº¥Ø¼Ð¤å¥óµL®Ä'
 
   ENDIF
 
 
   Url_QueryInfo = SPACE(32)
 
   Url_QueryInfoLen = LEN(Url_QueryInfo)
 
   IF HttpQueryInfo(Url_Session,5,@Url_QueryInfo,@Url_QueryInfoLen,0) = 1 &&¨ú¤å¥ó¤j¤p
 
      Url_FileSize = VAL(LEFT(Url_QueryInfo,Url_QueryInfoLen))
 
   ELSE 
 
      Url_FileSize = -1
 
   ENDIF
 
 
   Url_SizeSum = 0
 
   Url_ReadBuffer = REPLI (CHR(0), 4096)
 
   DO WHILE .T.
 
      Url_ReadBye = 0
 
      IF InternetReadFile (Url_Session, @Url_ReadBuffer,  4096, @Url_ReadBye) = 1
 
         IF Url_ReadBye = 0
 
            EXIT
 
         ELSE
 
            = FWRITE (Url_Fopen, Url_ReadBuffer, Url_ReadBye)
 
         ENDIF
 
         Url_SizeSum = Url_SizeSum + Url_ReadBye
 
         IF Url_FileSize =-1
 
            IF Url_SizeSum>1024^2
 
               WAIT '¥¿¦b±µ¦¬ '+ALLT(STR(Url_SizeSum/1024^2,10,3))+'M  ' WIND NOWA
 
            ELSE
 
               WAIT '¥¿¦b±µ¦¬ '+ALLT(STR(Url_SizeSum/1024       ))+'K  ' WIND NOWA
 
            ENDI
 
         ELSE 
 
            IF Url_SizeSum>1024^2
 
               WAIT '¥¿¦b±µ¦¬ '+ALLT(STR(Url_SizeSum/1024^2,10,3))+'M '+STR(Url_SizeSum/Url_FileSize*100,6,2)+'%  ' WIND NOWA
 
            ELSE
 
               WAIT '¥¿¦b±µ¦¬ '+ALLT(STR(Url_SizeSum/1024       ))+'K '+STR(Url_SizeSum/Url_FileSize*100,6,2)+'%  ' WIND NOWA
 
            ENDI
 
         ENDIF 
 
      ELSE
 
         EXIT
 
      ENDIF
 
   ENDDO
 
   WAIT CLEAR
 
 
   = FCLOSE (Url_Fopen)
 
   = InternetCloseHandle(Url_Session)
 
   = InternetCloseHandle(Url_Open)
 
   CLEAR DLLS
 
RETURN  Url_SizeSum
 
**************************************** | 	 
  _________________ #############################
 
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~ì¨Ó©¯ºÖ¨º»ò²³æ!!
 
 
¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
 
############################# | 
			 
		  |