--- In [email protected], "swzoh" <[EMAIL PROTECTED]> wrote:
>
> This script downloads the internet file and keeps it in the memory,
> not to the disk. The usage is:
>
> .DownloadToVar(sUrl)
If want to save it to the disk, need an extra manipulation as there
exist some remnants. So, have to modify it as to require no additional
job. There are two versions, and the second one is still prone to go
wrong but is slightly simpler. Oh, btw, please don't use it with
binary files.
---------------------- DownloadToVar.PowerPro ------------------------
Function DownloadToVar(sUrl)
local hInet=dll.call("wininet|InternetOpenA|s- ui ui ui ui";;+
,"PowerPro",4,0,0,0)
local hFile=dll.call("wininet|InternetOpenUrlA|ui s+ ui ui ui ui";;+
,hInet,"sUrl",0,0,0x84000000,0)
local nSize,sData,sTemp=repeat(" ",1024)
for()
dll.call("wininet|InternetReadFile|ui s+ ui ui*";;+
,hFile,"sTemp",1024,"nSize")
if(!nSize)
break
if(nSize <> 1024)
sTemp .= select(nSize)
sData ++= sTemp
endfor
dll.call("wininet|InternetCloseHandle|ui",hFile)
dll.call("wininet|InternetCloseHandle|ui",hInet)
quit(sData)
----------------------------------------------------------------------
OR
---------------------- DownloadToVar.PowerPro ------------------------
Function DownloadToVar(sUrl)
local hInet=dll.call("wininet|InternetOpenA|s- ui ui ui ui";;+
,"PowerPro",4,0,0,0)
local hFile=dll.call("wininet|InternetOpenUrlA|ui s+ ui ui ui ui";;+
,hInet,"sUrl",0,0,0x84000000,0)
local nSize,sData,sTemp=repeat(" ",1024)
for()
dll.call("wininet|InternetReadFile|ui s+ ui ui*";;+
,hFile,"sTemp",1024,"nSize")
if(nSize <> 1024)
break
sData ++= sTemp
endfor
sData ++= sTemp.select(nSize)
dll.call("wininet|InternetCloseHandle|ui",hFile)
dll.call("wininet|InternetCloseHandle|ui",hInet)
quit(sData)
----------------------------------------------------------------------
Sean