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¤~·|§ó¦³½ì~
############################# |
|