Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Invoking URLDownloadToFile In urlmon.Dll
Message
From
10/04/2008 16:21:42
 
 
To
10/04/2008 16:14:12
General information
Forum:
Visual FoxPro
Category:
Other
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Vista
Miscellaneous
Thread ID:
01309811
Message ID:
01309819
Views:
14
Thanks, It's great :)

>>Hi there, I'm trying to use the URLDownloadToFile function to get the exact time from the web but i noticed that i can read the url i want just for the first time then, what i get is always the same page unless i quit vfp and launch it again.
>>Is there a way to avoid that ?
>>
>>Thank you
>>Alessio
>
>Try this instead
>LcString=getdatafromurl(yourURL)
>
>Function getdatafromurl
>   Lparameters pcUrlName
>   Declare Integer InternetOpen In wininet.Dll String sAgent, ;
>      INTEGER lAccessType, String sProxyName, ;
>      STRING sProxyBypass, Integer lFlags
>
>   Declare Integer InternetOpenUrl In wininet.Dll ;
>      INTEGER hInternetSession, String sUrl, String sHeaders,;
>      INTEGER lHeadersLength, Integer lFlags, Integer lContext
>
>   Declare Integer InternetReadFile In wininet.Dll Integer hfile, ;
>      STRING @sBuffer, Integer lNumberofBytesToRead, Integer @lBytesRead
>
>   Declare short InternetCloseHandle In wininet.Dll Integer hInst
>
>   #Define INTERNET_OPEN_TYPE_PRECONFIG 0
>   #Define INTERNET_OPEN_TYPE_DIRECT 1
>   #Define INTERNET_OPEN_TYPE_PROXY 3
>   #Define SYNCHRONOUS 0
>   #Define INTERNET_FLAG_RELOAD 2147483648
>   #Define CR Chr(13)
>
>   Local lsAgent, lhInternetSession, lhUrlFile, llOk, lnOk, lcRetVal, lcReadBuffer, lnBytesRead
>
>* what application is using Internet services?
>   lsAgent = "VPF 5.0"
>
>   lhInternetSession = InternetOpen( lsAgent, INTERNET_OPEN_TYPE_PRECONFIG, ;
>      '', '', SYNCHRONOUS)
>
>* debugging line - uncomment to see session handle
>* WAIT WINDOW "Internet session handle: " + LTRIM(STR(hInternetSession))
>
>   If lhInternetSession = 0
>      Wait Window "Internet session cannot be established" Time 2
>      Return .Null.
>   Endif
>
>   lhUrlFile = InternetOpenUrl( lhInternetSession, pcUrlName, '', 0, ;
>      INTERNET_FLAG_RELOAD, 0)
>
>* debugging line - uncomment to see URL handle
>* WAIT WINDOW "URL Handle: " + LTRIM(STR(hUrlFile))
>
>   If lhUrlFile = 0
>      Wait Window "URL cannot be opened"
>      Return .Null.
>   Endif
>
>   lcRetVal = ""
>   llOk = .T.
>
>   Do While llOk
>* set aside a big buffer
>      lsReadBuffer = Space(32767)
>      lnBytesRead = 0
>      lnOk = InternetReadFile( lhUrlFile, @lsReadBuffer, Len(lsReadBuffer), @lnBytesRead)
>
>      If ( lnBytesRead > 0 )
>         lcRetVal = lcRetVal + Left( lsReadBuffer, lnBytesRead )
>      Endif
>
>* error trap - either a read failure or read past eof()
>      llOk = ( lnOk = 1 ) And ( lnBytesRead > 0 )
>   Enddo
>
>* close all the handles we opened
>   InternetCloseHandle( lhUrlFile )
>   InternetCloseHandle( lhInternetSession )
>   Clear Dlls InternetOpen,InternetCloseHandle,InternetOpenUrl ,InternetReadFile
>* return the URL contents
>Return lcRetVal
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform