Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
How to get a jpg from a website
Message
De
26/08/2011 11:45:54
 
 
À
26/08/2011 11:27:30
Information générale
Forum:
Visual FoxPro
Catégorie:
COM/DCOM et OLE Automation
Versions des environnements
Visual FoxPro:
VFP 9 SP2
OS:
Windows 7
Network:
Windows 2008 Server
Database:
Visual FoxPro
Divers
Thread ID:
01521872
Message ID:
01521909
Vues:
57
Bright! Any idea where/how to find that?

Somewhere here maybe: C:\Users\{username}\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5

Any idea how to make sure i have the right file?


>Then you may be forced to take a completely different approach. The captcha will also be cached on your HD, you can get it from there.
>
>>It does, but not a normal one: if you surf to that url you get a new captcha, a different one. And if you refresh, you get another one.
>>
>>>Doesn't the gaptcha have a URL? I'm pretty sure that it does.
>>>
>>>>Thank you for your quick reply, bu sorry, it is not as 'easy' as that.
>>>>
>>>>I want to download a captcha from google and present it in a vfp-form, but the captcha is not so easily isolated by automation. Interactively I can just right-click and can save the image, but I don't know how to do that automatically.
>>>>Google-captcha's do not have normal URLs.
>>>>
>>>>>If you know the URL, you can use GetDataFromURL
>>>>>Strtofile(GetDataFromURL('yourURL','yourfilename.jpg')
>>>>>
>>>>>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" Timeout 5
>>>>>   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 )
>>>>>
>>>>>* return the URL contents
>>>>>RETURN lcRetVal
>>>>>
>>>>>
>>>>>>Hello everybody
>>>>>>
>>>>>>I automate IE9, by:
>>>>>>
>>>>>>
>>>>>>goIE = CREATEOBJECT("InternetExplorer.Application")
>>>>>>
>>>>>>
>>>>>>and by goIE.navigate() I navigate to a URL. There is a jpg-image there, which I want to get on my local disk. I do not have the slightest idea...
>>>>>>Any help appreciated!
>>>>>>
>>>>>>TIA
>>>>>>
>>>>>>Lennert
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform